API documentation

Integrate corween into your systems. Authenticate with an API token and manage monitored subjects and events over HTTPS.

Overview

This REST API lets you create, read, update and delete monitored subjects for your account, and list related monitoring events. All endpoints return JSON and require authentication.

Base URL
/api
Format
application/json

Authentication

Every request must include a valid API token issued for your account. Send it in the Authorization header using the Bearer scheme.

Header
Authorization: Bearer {api_token}

API tokens are stored separately from portal login sessions. Contact support or your account administrator to obtain a token.

Subjects

Subjects are companies you monitor. Endpoints are scoped to the account linked to your API token.

Resource /api/subjects

GET /api/subjects

List subjects

Returns monitored subjects for the authenticated account. Optional query parameters filter and paginate the result.

Query parameters

Name Type Description
name string Filter by subject name (partial match).
registrationNumber string Filter by company ID / registration number (partial match).
taxIdentifier string Filter by tax identifier (partial match).
birthDate date Filter by date of birth. Format: YYYY-MM-DD.
type string Filter by subject type. Allowed values: COMPANY, PERSON.
country string Country code. Allowed values: AUSTRIA, BULGARIA, CZECHIA, ESTONIA, GREECE, CROATIA, HUNGARY, LITHUANIA, LATVIA, POLAND, ROMANIA, SLOVAKIA, UKRAINE.
page integer Zero-based page index.
resultsPerPage integer Maximum number of items per page.

Responses

  • 200OK — array of subjects.
  • 401Unauthorized — missing or invalid API token.
cURL
curl -X GET "https://{host}/api/subjects?country=SLOVAKIA" \
-H "Authorization: Bearer {api_token}" \
-H "Accept: application/json"
Response
[
  {
    "id": 42,
    "country": "SLOVAKIA",
    "subjectType": "COMPANY",
    "name": "Example s.r.o.",
    "registrationNumber": "12345678",
    "taxIdentifier": "SK12345678",
    "birthDate": null,
    "summary": [
      {
        "severity": "HIGH",
        "date": "2026-01-02",
        "eventName": "Insolvency"
      }
    ]
  }
]
GET /api/subjects/{id}

Get subject

Returns a single subject including its note and related events.

Path parameters

Name Type Description
id integer Numeric subject identifier.

Responses

  • 200OK — subject detail.
  • 401Unauthorized — missing or invalid API token.
  • 404Not Found — subject does not exist for this account.
cURL
curl -X GET "https://{host}/api/subjects/42" \
-H "Authorization: Bearer {api_token}" \
-H "Accept: application/json"
Response
{
  "id": 42,
  "country": "SLOVAKIA",
  "subjectType": "COMPANY",
  "name": "Example s.r.o.",
  "registrationNumber": "12345678",
  "taxIdentifier": "SK12345678",
  "birthDate": null,
  "note": "VIP partner",
  "events": [
    {
      "id": 1001,
      "severity": "MEDIUM",
      "date": "2026-07-01",
      "title": "Change of registered office",
      "text": "Registered office address was updated.",
      "sourceUrl": "https://example.com/source"
    }
  ]
}
POST /api/subjects

Create subject

Creates a new monitored subject. Country combined with registration number must be unique within the account.

Request body

Name Type Required Description
country string Yes Required Country code. Allowed values: AUSTRIA, BULGARIA, CZECHIA, ESTONIA, GREECE, CROATIA, HUNGARY, LITHUANIA, LATVIA, POLAND, ROMANIA, SLOVAKIA, UKRAINE.
subjectType string Yes Required Subject type. Allowed values: COMPANY, PERSON.
name string Yes Required Display name of the subject (max 255 characters).
registrationNumber string Yes, if type is COMPANY Required if type is COMPANY Company ID / registration number (max 64 characters). Required when type is COMPANY.
taxIdentifier string No Not required Tax identifier (max 100 characters). Optional.
birthDate date No Not required Date of birth in YYYY-MM-DD format. Optional.
note string No Not required Optional free-text note (max 255 characters).

Responses

  • 201Created — subject was created.
  • 400Bad Request — validation failed or subject already exists.
  • 401Unauthorized — missing or invalid API token.
cURL
curl -X POST "https://{host}/api/subjects" \
-H "Authorization: Bearer {api_token}" \
-H "Content-Type: application/json" \
-d '{
  "country": "SLOVAKIA",
  "subjectType": "COMPANY",
  "name": "Example s.r.o.",
  "registrationNumber": "12345678",
  "taxIdentifier": "SK12345678",
  "birthDate": null,
  "note": "VIP partner"
}'
Response
{
  "id": 42,
  "country": "SLOVAKIA",
  "subjectType": "COMPANY",
  "name": "Example s.r.o.",
  "registrationNumber": "12345678",
  "taxIdentifier": "SK12345678",
  "birthDate": null,
  "note": "VIP partner",
  "events": null
}
PUT /api/subjects/{id}

Update subject

Updates editable fields of an existing subject: type, tax identifier, date of birth and note.

Path parameters

Name Type Description
id integer Numeric subject identifier.

Request body

Name Type Required Description
note string No Not required Optional free-text note (max 255 characters).

Responses

  • 200OK — subject detail.
  • 400Bad Request — validation failed or subject already exists.
  • 401Unauthorized — missing or invalid API token.
  • 404Not Found — subject does not exist for this account.
cURL
curl -X PUT "https://{host}/api/subjects/42" \
-H "Authorization: Bearer {api_token}" \
-H "Content-Type: application/json" \
-d '{
  "note": "VIP partner"
}'
DELETE /api/subjects/{id}

Delete subject

Permanently deletes a subject and its related monitoring data for the account.

Path parameters

Name Type Description
id integer Numeric subject identifier.

Responses

  • 204No Content — subject was deleted.
  • 401Unauthorized — missing or invalid API token.
  • 404Not Found — subject does not exist for this account.
cURL
curl -X DELETE "https://{host}/api/subjects/42" \
-H "Authorization: Bearer {api_token}"

Events

Events are monitoring changes detected for your subjects. Endpoints are scoped to the account linked to your API token.

Resource /api/events

GET /api/events

List events

Returns monitoring events for subjects of the authenticated account. Optional query parameters filter and paginate the result.

Query parameters

Name Type Description
subjectId integer Filter by numeric subject identifier.
name string Filter by subject name (partial match).
registrationNumber string Filter by company ID / registration number (partial match).
country string Country code. Allowed values: AUSTRIA, BULGARIA, CZECHIA, ESTONIA, GREECE, CROATIA, HUNGARY, LITHUANIA, LATVIA, POLAND, ROMANIA, SLOVAKIA, UKRAINE.
page integer Zero-based page index.
resultsPerPage integer Maximum number of items per page.

Responses

  • 200OK — array of events.
  • 401Unauthorized — missing or invalid API token.
cURL
curl -X GET "https://{host}/api/events?country=SLOVAKIA" \
-H "Authorization: Bearer {api_token}" \
-H "Accept: application/json"
Response
[
  {
    "date": "2026-07-01T12:30:00",
    "severity": "MEDIUM",
    "title": "Business Register",
    "text": "Registered office address was updated.",
    "sourceUrl": "https://example.com/source",
    "subject": {
      "name": "Example s.r.o.",
      "registrationNumber": "12345678",
      "country": "SLOVAKIA"
    }
  }
]

Error responses

Validation errors use a field map. Authentication failures return a simple error object.

Validation error (400)
{
  "errors": {
    "registrationNumber": [
      "ID / registration number is required."
    ]
  }
}
Unauthorized (401)
{
  "error": "Unauthorized"
}

Country codes

Use these enum values for the country field:

  • AUSTRIA
  • BULGARIA
  • CZECHIA
  • ESTONIA
  • GREECE
  • CROATIA
  • HUNGARY
  • LITHUANIA
  • LATVIA
  • POLAND
  • ROMANIA
  • SLOVAKIA
  • UKRAINE

Subject types

Use these enum values for the subjectType field:

  • COMPANY
  • PERSON