API Documentation
API Endpoints/Invoices

Commit Invoice

Lock the invoice data.

Please be aware that this operation is not reversible and executed asynchronously.

POST
/invoices/{invoiceReference}/commitInvoice
AuthorizationBasic <token>

Basic authentication is a simple authentication scheme built into the HTTP protocol. To use it, send your HTTP requests with an Authorization header that contains the word Basic followed by a space and a base64-encoded string username:password.Example: Authorization: Basic ZGVtbzpwQDU1dzByZA==

In: header

Path Parameters

invoiceReferencestring

Reference of the invoice

Header Parameters

Idempotency-Key?string

Set this optional header to the same value for idempotent requests. If the request is repeated with the same idempotency key, the server will return the same response as for the first request. Our servers retain the idempotency key and their result for 24 hours after the initial request, if not defined otherwise in your Abillify contract.

attachments?array<object>
notifyUrl?string

The URL where Abillify will send a POST request with the paylaod {"result":"OK","resultcode":"0","job":"ID of job returned in task start call","notification":"ID of the notification"} when the task is completed.

Formaturi

Response Body

curl -X POST "https://staging1.abillify.dev/api/invoices/string/commitInvoice" \
  -H "Idempotency-Key: string" \
  -H "Content-Type: application/json" \
  -d '{
    "attachments": [
      {
        "filname": "overwrite_filename.svg",
        "url": "https://abillify.me/wp-content/themes/abillify/assets/images/logo.svg"
      }
    ],
    "data": "123",
    "notifyUrl": "https://yourdomain.com/notify"
  }'
const body = JSON.stringify({
  "attachments": [
    {
      "filname": "overwrite_filename.svg",
      "url": "https://abillify.me/wp-content/themes/abillify/assets/images/logo.svg"
    }
  ],
  "data": "123",
  "notifyUrl": "https://yourdomain.com/notify"
})

fetch("https://staging1.abillify.dev/api/invoices/string/commitInvoice", {
  headers: {
    "Idempotency-Key": "string"
  },
  body
})
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
  "strings"
)

func main() {
  url := "https://staging1.abillify.dev/api/invoices/string/commitInvoice"
  body := strings.NewReader(`{
    "attachments": [
      {
        "filname": "overwrite_filename.svg",
        "url": "https://abillify.me/wp-content/themes/abillify/assets/images/logo.svg"
      }
    ],
    "data": "123",
    "notifyUrl": "https://yourdomain.com/notify"
  }`)
  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Idempotency-Key", "string")
  req.Header.Add("Content-Type", "application/json")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}
import requests

url = "https://staging1.abillify.dev/api/invoices/string/commitInvoice"
body = {
  "attachments": [
    {
      "filname": "overwrite_filename.svg",
      "url": "https://abillify.me/wp-content/themes/abillify/assets/images/logo.svg"
    }
  ],
  "data": "123",
  "notifyUrl": "https://yourdomain.com/notify"
}
response = requests.request("POST", url, json = body, headers = {
  "Idempotency-Key": "string",
  "Content-Type": "application/json"
})

print(response.text)
{
  "job": "1",
  "result": "OK",
  "resultcode": "0"
}
{
  "code": 400,
  "details": [
    {
      "error": "Value for field 'debtor' is of wrong type, expected bigint.",
      "fields": [
        "debtor"
      ],
      "hint": "Value must be a number or a string containing only a number."
    }
  ],
  "message": "InvalidValue, see error details",
  "name": "ClientError",
  "type": "ERR_INVALID_VALUE"
}
{
  "code": 400,
  "details": [
    {
      "error": "Value for field 'debtor' is of wrong type, expected bigint.",
      "fields": [
        "debtor"
      ],
      "hint": "Value must be a number or a string containing only a number."
    }
  ],
  "message": "InvalidValue, see error details",
  "name": "ClientError",
  "type": "ERR_INVALID_VALUE"
}