Skip to content
This is a new version of the Kivra Developer Docs. Report issues or share feedback at avsandare.support@kivra.se. The previous version can be found here.

Update chain

PUT
/dr/v1/chains/{chainID}
curl --request PUT \
--url https://sender.sandbox-api.kivra.com/dr/v1/chains/example \
--header 'Content-Type: application/json' \
--data '{ "name": "Demo chain updated", "vat": "SE555555555501", "address": { "street1": "Gatan 2", "postalcode": "13254", "city": "onebuying", "country": "SWE" }, "logo": { "data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=", "content_type": "image/png" }, "item_display_fields": [ "article_number_pos" ] }'

A partner can update chain information using this endpoint.

Access scope

  • PARTNER

Validation rules

  • A chain cannot have both retained_activated and greenbin_activated set to true - The partner must have the respective feature activated before a chain can activate it
chainID
required
string

Chain ID

Takes in a chain object with fields to be modified. Fields not present in the body are not modified.

Media typeapplication/json
UpdateChain
object
external_id

External identifier for the chain, unique per partner

string
/^.{5,128}$/
name

The name of the chain

string
>= 1 characters
vat

The VAT number of the chain

string
/^((SE)?[0-9]{12})$"/
phone

The phone number of the chain

string
address

The address of the chain

object
street1
string
street2
string
street3
string
postalcode
string
city
string
state
string
country
string
>= 3 characters <= 3 characters
icon

Icon displayed on the receipt

object
data
required

Base64 encoded image

string
content_type
required

The image content type

string
logo

Logo displayed on the receipt

object
data
required

Base64 encoded image

string
content_type
required

The image content type

string
item_display_fields

The extra fields from receipt items that should be displayed in the app

Array<string>
Allowed values: article_number_pos article_number_gtin
retained_activated

Whether retained receipts are activated for this chain

boolean
Example
{
"name": "Demo chain updated",
"vat": "SE555555555501",
"address": {
"street1": "Gatan 2",
"postalcode": "13254",
"city": "onebuying",
"country": "SWE"
},
"logo": {
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=",
"content_type": "image/png"
},
"item_display_fields": [
"article_number_pos"
]
}

Chain successfully updated

Media typeapplication/json
object
Examplegenerated
{}

Bad request

Media typeapplication/json
ErrorResponse
object
error_code
string
short_message
string
long_message
string
error_detail
Array<string>
Examples
{
"error_code": "40000",
"short_message": "bad request",
"long_message": "body is missing required fields or has invalid fields"
}

Unauthorized

Media typeapplication/json
ErrorResponse
object
error_code
string
short_message
string
long_message
string
error_detail
Array<string>
Examples
Exampleunauthorized
{
"error_code": "40100",
"short_message": "unauthorized",
"long_message": "permission denied"
}

Not found

Media typeapplication/json
ErrorResponse
object
error_code
string
short_message
string
long_message
string
error_detail
Array<string>
Examples
Exampleresource_not_found
{
"error_code": "40400",
"short_message": "not found",
"long_message": "the requested resource could not be found"
}

Conflict

Media typeapplication/json
ErrorResponse
object
error_code
string
short_message
string
long_message
string
error_detail
Array<string>
Examples
Examplevat_exists
{
"error_code": "40900",
"short_message": "conflict",
"long_message": "company with the given vat exists"
}

Internal server error

Media typeapplication/json
ErrorResponse
object
error_code
string
short_message
string
long_message
string
error_detail
Array<string>
Example
{
"error_code": "50000",
"short_message": "internal server error",
"long_message": "unknown error ocurred"
}