Order the share capital history for a company
curl --request POST \
--url https://lens-api.tic.io/bolagsverket/share-capital-changes/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"teamDocumentOrder": {
"teamDocumentOrderId": 123,
"teamId": 123,
"teamName": "<string>",
"documentOrderGuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"documentTitle": "<string>",
"documentOrderType": "companyDocument",
"documentOrderDate": "2023-11-07T05:31:56Z",
"orderedByUserId": 123,
"orderedByUserEmail": "<string>",
"orderedByUserDisplayName": "<string>",
"price": 123,
"lastUpdatedAtUtc": "2023-11-07T05:31:56Z",
"externalId": 123,
"externalOrigin": "table_Bolagsverket_Notification",
"externalId2": "<string>",
"salesOrderRows": [
123
],
"content": [
{
"teamDocumentOrderContentId": 123,
"teamDocumentOrderId": 123,
"teamDocumentContentType": "pdf"
}
]
},
"shareCapitalChanges": {
"companyName": "<string>",
"registrationNumber": "<string>",
"companyRegistrationDate": "2023-11-07T05:31:56Z",
"legalFormCode": "<string>",
"legalForm": "<string>",
"pendingCases": 123,
"shareCapital": {
"amount": 123,
"currency": "<string>",
"lowerLimitAmount": 123,
"higherLimitAmount": 123,
"nominalValue": 123,
"numberOfShares": 123,
"numberOfSharesLowerLimit": 123,
"numberOfSharesHigherLimit": 123,
"shareClasses": [
{
"name": "<string>",
"numberOfShares": 123,
"lowestNumberOfShares": 123,
"highestNumberOfShares": 123,
"votingValue": "<string>"
}
],
"hasFullyPaidIssue": true,
"hasExecutedReduction": true,
"note": "<string>"
},
"changes": [
{
"caseNumber": 123,
"caseYear": 123,
"sequenceNumber": 123,
"registrationDate": "2023-11-07T05:31:56Z",
"changeType": "<string>",
"typeCode": "<string>",
"typeText": "<string>",
"isBeforeConversion": true,
"changedAmount": 123,
"amountAfter": 123,
"currency": "<string>",
"amount": 123,
"maxAmount": 123,
"minAmount": 123,
"reductionAmount": 123,
"paidIncludingPremium": 123,
"paidAmount": 123,
"nominalValue": 123,
"numberOfShares": 123,
"paidNumberOfShares": 123,
"partPaymentShares": 123,
"partPaymentAmount": 123,
"isFullyPaid": true,
"decisionDate": "2023-11-07T05:31:56Z",
"decidedByCode": "<string>",
"decidedBy": "<string>",
"authorizationDate": "2023-11-07T05:31:56Z",
"authorizationBeforeGeneralMeetingYear": 123,
"authorizationBeforeDate": "2023-11-07T05:31:56Z",
"paymentMethods": [
"<string>"
],
"methods": [
{
"code": "<string>",
"text": "<string>"
}
],
"purposes": [
{
"code": "<string>",
"text": "<string>"
}
],
"reductionPending": true,
"isLapsed": true,
"lapsedDecisionDate": "2023-11-07T05:31:56Z",
"lapsedDecidedByCode": "<string>",
"lapsedDecidedBy": "<string>",
"permitDate": "2023-11-07T05:31:56Z",
"permitByCode": "<string>",
"permitBy": "<string>",
"shareClasses": [
{
"name": "<string>",
"numberOfShares": 123,
"lowestNumberOfShares": 123,
"highestNumberOfShares": 123,
"votingValue": "<string>"
}
],
"issuingCaseNumber": 123,
"issuingCaseYear": 123,
"note": "<string>"
}
],
"authorizations": [
{
"caseNumber": 123,
"caseYear": 123,
"sequenceNumber": 123,
"registrationDate": "2023-11-07T05:31:56Z",
"items": [
{
"type": "<string>",
"decisionDate": "2023-11-07T05:31:56Z",
"beforeGeneralMeetingYear": 123,
"beforeDate": "2023-11-07T05:31:56Z"
}
],
"note": "<string>"
}
],
"debtInstruments": [
{
"caseNumber": 123,
"caseYear": 123,
"sequenceNumber": 123,
"type": "<string>",
"registrationDate": "2023-11-07T05:31:56Z",
"decisionDate": "2023-11-07T05:31:56Z",
"decidedBy": "<string>",
"decidedAmount": 123,
"maxAmount": 123,
"minAmount": 123,
"subscribedAmount": 123,
"capitalIncreaseMaxAmount": 123,
"currency": "<string>",
"changeType": "<string>",
"authorization": {
"decisionDate": "2023-11-07T05:31:56Z",
"beforeGeneralMeetingYear": 123,
"beforeDate": "2023-11-07T05:31:56Z",
"covers": [
"<string>"
],
"shareClasses": [
{
"name": "<string>",
"numberOfShares": 123,
"lowestNumberOfShares": 123,
"highestNumberOfShares": 123,
"votingValue": "<string>"
}
]
},
"options": {
"amount": 123,
"subscriptionFrom": "2023-11-07T05:31:56Z",
"subscriptionTo": "2023-11-07T05:31:56Z",
"count": 123,
"lowestCount": 123,
"highestCount": 123,
"withoutLoan": true,
"withLoan": true,
"periodFrom": "2023-11-07T05:31:56Z",
"periodTo": "2023-11-07T05:31:56Z",
"historicPeriod1": "<string>",
"historicPeriod2": "<string>"
},
"convertibles": {
"amount": 123,
"exchangeFrom": "2023-11-07T05:31:56Z",
"exchangeTo": "2023-11-07T05:31:56Z",
"historicPeriod1": "<string>",
"historicPeriod2": "<string>"
},
"shareClasses": [
{
"name": "<string>",
"numberOfShares": 123,
"lowestNumberOfShares": 123,
"highestNumberOfShares": 123,
"votingValue": "<string>"
}
],
"note": "<string>"
}
]
},
"recovery": {
"recoveredAtUtc": "2023-11-07T05:31:56Z",
"alreadyRecovered": true,
"rowsInserted": 123,
"rowsMatched": 123,
"isVerified": true,
"verificationNote": "<string>"
}
}Bolagsverket
Order the share capital history for a company
Orders the company’s share capital history from Bolagsverket: the current share capital, every registered change, authorisations and debt instruments. The answer is written into the register tables (share capital, share issues, bonus issues, reductions, authorisations, convertibles), so the history is ordered once per company; a later call returns the stored answer without ordering or charging. Priced per team with a 4 SEK default.
POST
/
bolagsverket
/
share-capital-changes
/
{id}
Order the share capital history for a company
curl --request POST \
--url https://lens-api.tic.io/bolagsverket/share-capital-changes/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://lens-api.tic.io/bolagsverket/share-capital-changes/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"teamDocumentOrder": {
"teamDocumentOrderId": 123,
"teamId": 123,
"teamName": "<string>",
"documentOrderGuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"documentTitle": "<string>",
"documentOrderType": "companyDocument",
"documentOrderDate": "2023-11-07T05:31:56Z",
"orderedByUserId": 123,
"orderedByUserEmail": "<string>",
"orderedByUserDisplayName": "<string>",
"price": 123,
"lastUpdatedAtUtc": "2023-11-07T05:31:56Z",
"externalId": 123,
"externalOrigin": "table_Bolagsverket_Notification",
"externalId2": "<string>",
"salesOrderRows": [
123
],
"content": [
{
"teamDocumentOrderContentId": 123,
"teamDocumentOrderId": 123,
"teamDocumentContentType": "pdf"
}
]
},
"shareCapitalChanges": {
"companyName": "<string>",
"registrationNumber": "<string>",
"companyRegistrationDate": "2023-11-07T05:31:56Z",
"legalFormCode": "<string>",
"legalForm": "<string>",
"pendingCases": 123,
"shareCapital": {
"amount": 123,
"currency": "<string>",
"lowerLimitAmount": 123,
"higherLimitAmount": 123,
"nominalValue": 123,
"numberOfShares": 123,
"numberOfSharesLowerLimit": 123,
"numberOfSharesHigherLimit": 123,
"shareClasses": [
{
"name": "<string>",
"numberOfShares": 123,
"lowestNumberOfShares": 123,
"highestNumberOfShares": 123,
"votingValue": "<string>"
}
],
"hasFullyPaidIssue": true,
"hasExecutedReduction": true,
"note": "<string>"
},
"changes": [
{
"caseNumber": 123,
"caseYear": 123,
"sequenceNumber": 123,
"registrationDate": "2023-11-07T05:31:56Z",
"changeType": "<string>",
"typeCode": "<string>",
"typeText": "<string>",
"isBeforeConversion": true,
"changedAmount": 123,
"amountAfter": 123,
"currency": "<string>",
"amount": 123,
"maxAmount": 123,
"minAmount": 123,
"reductionAmount": 123,
"paidIncludingPremium": 123,
"paidAmount": 123,
"nominalValue": 123,
"numberOfShares": 123,
"paidNumberOfShares": 123,
"partPaymentShares": 123,
"partPaymentAmount": 123,
"isFullyPaid": true,
"decisionDate": "2023-11-07T05:31:56Z",
"decidedByCode": "<string>",
"decidedBy": "<string>",
"authorizationDate": "2023-11-07T05:31:56Z",
"authorizationBeforeGeneralMeetingYear": 123,
"authorizationBeforeDate": "2023-11-07T05:31:56Z",
"paymentMethods": [
"<string>"
],
"methods": [
{
"code": "<string>",
"text": "<string>"
}
],
"purposes": [
{
"code": "<string>",
"text": "<string>"
}
],
"reductionPending": true,
"isLapsed": true,
"lapsedDecisionDate": "2023-11-07T05:31:56Z",
"lapsedDecidedByCode": "<string>",
"lapsedDecidedBy": "<string>",
"permitDate": "2023-11-07T05:31:56Z",
"permitByCode": "<string>",
"permitBy": "<string>",
"shareClasses": [
{
"name": "<string>",
"numberOfShares": 123,
"lowestNumberOfShares": 123,
"highestNumberOfShares": 123,
"votingValue": "<string>"
}
],
"issuingCaseNumber": 123,
"issuingCaseYear": 123,
"note": "<string>"
}
],
"authorizations": [
{
"caseNumber": 123,
"caseYear": 123,
"sequenceNumber": 123,
"registrationDate": "2023-11-07T05:31:56Z",
"items": [
{
"type": "<string>",
"decisionDate": "2023-11-07T05:31:56Z",
"beforeGeneralMeetingYear": 123,
"beforeDate": "2023-11-07T05:31:56Z"
}
],
"note": "<string>"
}
],
"debtInstruments": [
{
"caseNumber": 123,
"caseYear": 123,
"sequenceNumber": 123,
"type": "<string>",
"registrationDate": "2023-11-07T05:31:56Z",
"decisionDate": "2023-11-07T05:31:56Z",
"decidedBy": "<string>",
"decidedAmount": 123,
"maxAmount": 123,
"minAmount": 123,
"subscribedAmount": 123,
"capitalIncreaseMaxAmount": 123,
"currency": "<string>",
"changeType": "<string>",
"authorization": {
"decisionDate": "2023-11-07T05:31:56Z",
"beforeGeneralMeetingYear": 123,
"beforeDate": "2023-11-07T05:31:56Z",
"covers": [
"<string>"
],
"shareClasses": [
{
"name": "<string>",
"numberOfShares": 123,
"lowestNumberOfShares": 123,
"highestNumberOfShares": 123,
"votingValue": "<string>"
}
]
},
"options": {
"amount": 123,
"subscriptionFrom": "2023-11-07T05:31:56Z",
"subscriptionTo": "2023-11-07T05:31:56Z",
"count": 123,
"lowestCount": 123,
"highestCount": 123,
"withoutLoan": true,
"withLoan": true,
"periodFrom": "2023-11-07T05:31:56Z",
"periodTo": "2023-11-07T05:31:56Z",
"historicPeriod1": "<string>",
"historicPeriod2": "<string>"
},
"convertibles": {
"amount": 123,
"exchangeFrom": "2023-11-07T05:31:56Z",
"exchangeTo": "2023-11-07T05:31:56Z",
"historicPeriod1": "<string>",
"historicPeriod2": "<string>"
},
"shareClasses": [
{
"name": "<string>",
"numberOfShares": 123,
"lowestNumberOfShares": 123,
"highestNumberOfShares": 123,
"votingValue": "<string>"
}
],
"note": "<string>"
}
]
},
"recovery": {
"recoveredAtUtc": "2023-11-07T05:31:56Z",
"alreadyRecovered": true,
"rowsInserted": 123,
"rowsMatched": 123,
"isVerified": true,
"verificationNote": "<string>"
}
}Pro+ tier
Orders the company’s complete share capital history from the company registration office: the share capital as registered today, every registered change back to the 1990s (new issues, bonus issues, reductions, conversions and exchanges), the general meeting authorisations for the board and the issued convertibles, warrants and legacy promissory notes.
Only limited companies (aktiebolag, bankaktiebolag, försäkringsaktiebolag) have share capital; other legal forms answer
404 and nothing is ordered or charged. The history is ordered once per company: the answer is written into the register tables behind share-capital, share-issue, bonus-issue, capital-reductions, authorizations and convertibles-and-warrants, so those endpoints list the whole history afterwards, for every team. A later call returns the stored answer with recovery.alreadyRecovered set to true and orders and charges nothing. The price is set per team, with a 4 SEK default, and is returned in teamDocumentOrder.price.
recovery says what the order did to the register tables: rowsInserted records that were new to us, rowsMatched records the daily register feed had already delivered (every change carries the case it was registered in, which is how they are told apart), and isVerified when the changes chain from the first registered capital to the share capital registered today.
Each change carries the case (caseNumber, caseYear) it was registered in, the signed changedAmount and the share capital amountAfter, the decision (decisionDate, decidedBy), and for reductions how it was made (methods) and why (purposes), with the codes and texts as registered.