Skip to main content

keyper.Covid.Backend (2021-03-31)

Download OpenAPI specification:Download

Public API for keyper's Health Protection Services.

Testsystem

Please use https://api.c19t.net/v1 for the test system and as JWT audience.

Account

Create a new account

Request Body schema: application/json
name
required
string
language
string or null
email
string or null
phone
string or null
object (CreateIdentityDto)
object (CreateIdentityDto)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "language": "string",
  • "email": "string",
  • "phone": "string",
  • "initialIdentity": {
    },
  • "otherIdentity": {
    }
}

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified"
}

Get data of currently logged in account

Responses

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified"
}

Delete currently logged in account

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Update account's profile

Request Body schema: application/json
name
string or null
email
string or null
phone
string or null
language
string or null

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string"
}

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified"
}

Get an accounts notification subscriptions

Responses

Response samples

Content type
application/json
{
  • "settings": [
    ]
}

Add a new notification subscription for an account

Request Body schema:
endpoint
required
string <email>
topics
required
Array of strings (AccountNotificationTopicEnum) non-empty
Items Value: "test_not_checked_in"

Responses

Request samples

Content type
{
  • "endpoint": "user@example.com",
  • "topics": [
    ]
}

Response samples

Content type
application/json
{
  • "subscriptionArn": "string",
  • "endpoint": "string",
  • "topics": [
    ]
}

Update an existing notification subscription for an account

Request Body schema:
subscriptionArn
required
string
topics
required
Array of strings (AccountNotificationTopicEnum) non-empty
Items Value: "test_not_checked_in"

Responses

Request samples

Content type
{
  • "subscriptionArn": "string",
  • "topics": [
    ]
}

Response samples

Content type
application/json
{
  • "subscriptionArn": "string",
  • "endpoint": "string",
  • "topics": [
    ]
}

Delete an existing notification subscription for an account

Request Body schema:
subscriptionArn
required
string

Responses

Request samples

Content type
{
  • "subscriptionArn": "string"
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Verify an account

Request Body schema: application/json
level
required
string (AccountVerificationLevelEnum)
Enum: "unverified" "person"
object (FieldsDto)

Responses

Request samples

Content type
application/json
{
  • "level": "unverified",
  • "fields": {
    }
}

Response samples

Content type
application/json
{
  • "currentLevel": "unverified",
  • "levels": [
    ]
}

Get account verification levels

Responses

Response samples

Content type
application/json
{
  • "currentLevel": "unverified",
  • "levels": [
    ]
}

Appointment

Get upcoming appointments

Get a list of the upcoming 25 appointments for the currently logged in organization.If a search parameter is applied, then the search happens for all upcoming appointments of the current day.

query Parameters
search
string

Responses

Response samples

Content type
application/json
{
  • "appointments": [
    ]
}

Get appointment

path Parameters
appointmentID
required
string

Responses

Response samples

Content type
application/json
{
  • "state": "Unknown",
  • "externalReference": "string",
  • "test": {
    },
  • "pii": {
    },
  • "service": {
    },
  • "metadata": {
    }
}

Update appointment

path Parameters
appointmentID
required
string
Request Body schema: application/json
object (UpdateBookingAppointmentPiiDto)
object (UpdateBookingAppointmentServiceDto)

Responses

Request samples

Content type
application/json
{
  • "pii": {
    },
  • "service": {
    }
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Set the payment state of an appointment. This doesn´t influence the online payment state.

path Parameters
appointmentID
required
string
Request Body schema: application/json
markedAsPaid
required
boolean

Responses

Request samples

Content type
application/json
{
  • "markedAsPaid": true
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Services

Get services (test types) from booking system

query Parameters
useDefaultServices
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "services": [
    ]
}

CFP

Check covid free pass (CFP)

path Parameters
hash
required
string

Responses

Response samples

Content type
application/json
{
  • "valid": true,
  • "pii": {
    },
  • "certificates": [
    ]
}

Check external covid certificate

Request Body schema: application/json
value
required
string

Responses

Request samples

Content type
application/json
{
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "valid": true,
  • "pii": {
    },
  • "certificates": [
    ]
}

Get an organizations events

Events are logged whenever something interesting happens in the system for the organization (e.g. test checkin, result entered, etc.)

query Parameters
limit
integer <int32> [ 1 .. 50 ]
starting_after
string
starting_at
string
topic
string

Responses

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "next_event_id": "string"
}

Get a specific event by it´s id

path Parameters
eventID
required
string

Responses

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "next_event_id": "string"
}

Check-In

Get configuration options for test check-in

Responses

Response samples

Content type
application/json
{
  • "communication_options": [
    ],
  • "edit_appointment_fields": [
    ]
}

Perform a check-in for a test

Request Body schema: application/json
externalReference
required
string
encodedService
required
string
object (CreateCheckInIdentityDto)
Array of objects or null (CreateCommunicationChannelInParameter)
suppressCustomerNotification
boolean or null
organizationID
string or null
timestamp
string or null <date-time>
testCode
required
string <= 100 characters

Responses

Request samples

Content type
application/json
{
  • "externalReference": "string",
  • "encodedService": "string",
  • "identity": {
    },
  • "communicationChannels": [
    ],
  • "suppressCustomerNotification": true,
  • "organizationID": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "testCode": "string"
}

Response samples

Content type
application/json
{
  • "externalReference": "string",
  • "encodedService": "string",
  • "identity": {
    },
  • "communicationChannels": [
    ],
  • "suppressCustomerNotification": true,
  • "organizationID": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "testCode": "string"
}

Perform test check-in / create new test execution Deprecated

path Parameters
testCode
required
string
Request Body schema:
external_reference
required
string
test_code
required
string
object (SaveTestExecutionIdentityDto)
test_type
required
string
Array of objects or null (CreateCommunicationChannelInParameter)
suppress_customer_notification
boolean or null

Responses

Request samples

Content type
{
  • "external_reference": "string",
  • "test_code": "string",
  • "identity": {
    },
  • "test_type": "string",
  • "communication_channels": [
    ],
  • "suppress_customer_notification": true
}

Get test check-in state / execution state

Please note: the permission check for this call works differnt to the check of other calls.It´s possible to get the test execution state of every test the account has access to and not only of the currently logged in organization!

path Parameters
testCode
required
string

Responses

Response samples

Content type
application/json
{
  • "test_code": "string",
  • "test_type": "unknown",
  • "test": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "state": "not_started",
  • "result": "unknown",
  • "external_reference": "string",
  • "flags": {
    },
  • "result_options": [
    ],
  • "projectName": "string",
  • "projectType": "string",
  • "certificateInfo": {
    },
  • "projectInfo": {
    },
  • "organizationInfo": {
    }
}

Vaccination

Perform a check-in and enter result of vaccination

Request Body schema: application/json
externalReference
required
string
encodedService
required
string
object (CreateCheckInIdentityDto)
Array of objects or null (CreateCommunicationChannelInParameter)
suppressCustomerNotification
boolean or null
organizationID
string or null
timestamp
string or null <date-time>
numberOfDoses
required
integer <int32>
totalNumberOfDoses
required
integer <int32>
vaccinationDate
string or null <date>
countryOfVaccination
string or null <= 2 characters
batchNumber
string or null
isConfirmation
boolean or null

Responses

Request samples

Content type
application/json
{
  • "externalReference": "string",
  • "encodedService": "string",
  • "identity": {
    },
  • "communicationChannels": [
    ],
  • "suppressCustomerNotification": true,
  • "organizationID": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "numberOfDoses": 0,
  • "totalNumberOfDoses": 0,
  • "vaccinationDate": "2019-08-24",
  • "countryOfVaccination": "st",
  • "batchNumber": "string",
  • "isConfirmation": true
}

Response samples

Content type
application/json
{
  • "externalReference": "string",
  • "encodedService": "string",
  • "identity": {
    },
  • "communicationChannels": [
    ],
  • "suppressCustomerNotification": true,
  • "organizationID": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "numberOfDoses": 0,
  • "totalNumberOfDoses": 0,
  • "vaccinationDate": "2019-08-24",
  • "countryOfVaccination": "st",
  • "batchNumber": "string",
  • "isConfirmation": true
}

Customize

Get customize layout of the domain

path Parameters
domain
required
string

Responses

Response samples

Content type
application/json
{
  • "groupName": "unknown",
  • "backgroundColor": "string",
  • "mainColor": "string",
  • "mainDarkColor": "string",
  • "mainLightColor": "string",
  • "mainLightest": "string",
  • "orangeColor": "string",
  • "orangeBackground": "string",
  • "textColor": "string",
  • "textOrange": "string",
  • "linkedText": "string",
  • "textMidColor": "string",
  • "logoUrl": "string",
  • "createdDate": "2019-08-24T14:15:22Z",
  • "updatedDate": "2019-08-24T14:15:22Z"
}

Identity

Create a new identity

Request Body schema:
type
string (IdentityType)
Enum: "Undefined" "IDCard" "UsernamePassword" "Microsoft" "ApiKey" "Keycloak"
identity
string or null
key
string or null

Responses

Request samples

Content type
{
  • "type": "Undefined",
  • "identity": "string",
  • "key": "string"
}

Update id card PIN

path Parameters
externalIdentityID
required
string
Request Body schema:
oldPin
required
string
newPin
required
string

Responses

Request samples

Content type
{
  • "oldPin": "string",
  • "newPin": "string"
}

Reset ID-Card

Resetting an ID-Card means generating a new PIN and (if possible) send it per SMS to the account owner.

path Parameters
externalIdentityID
required
string

Responses

Send the id card link per sms to the accounts communication channel.

path Parameters
externalIdentityID
required
string
Request Body schema:
domain
required
string

Responses

Request samples

Content type
{
  • "domain": "string"
}

Remove identity from logged in account

path Parameters
identityType
required
string (IdentityType)
Enum: "Undefined" "IDCard" "UsernamePassword" "Microsoft" "ApiKey" "Keycloak"
externalIdentityID
required
string

Responses

Login

Login an account by an identity

Request Body schema:
type
string (IdentityType)
Enum: "Undefined" "IDCard" "UsernamePassword" "Microsoft" "ApiKey" "Keycloak"
identity
string or null
key
string or null

Responses

Request samples

Content type
{
  • "type": "Undefined",
  • "identity": "string",
  • "key": "string"
}

Login the default app account for an organization

Request Body schema:
appId
required
string
organizationId
required
string
secretKey
required
string
scope
required
string

Responses

Request samples

Content type
{
  • "appId": "string",
  • "organizationId": "string",
  • "secretKey": "string",
  • "scope": "string"
}

Response samples

Content type
No sample

Login an account for a specific organization

path Parameters
organizationID
required
string
Request Body schema:
platform
string (PlatformEnum)
Enum: "Unknown" "web" "ios" "android"

Responses

Request samples

Content type
{
  • "platform": "Unknown"
}

RefreshToken

Refresh JWT from Refresh Token

Request Body schema:
refreshToken
required
string

Responses

Request samples

Content type
{
  • "refreshToken": "string"
}

User

Get user data

Responses

Marketplace

Get public apps from marketplace

Responses

Get all apps of the users current organization

Responses

Create a new app

Request Body schema:
name
required
string
apiVersion
required
string
iconUrl
string or null
scopes
required
Array of strings (AppScopeEnum)
Items Enum: "test.read" "test.write" "pii.read" "test-execution.read" "test-execution.write" "organization.read" "organization.write" "booking.read" "booking.write" "test.pool.manage" "test.result.write"

Responses

Request samples

Content type
{
  • "name": "string",
  • "apiVersion": "string",
  • "iconUrl": "string",
  • "scopes": [
    ]
}

Update an existing app

path Parameters
appID
required
string
Request Body schema:
name
required
string
apiVersion
required
string
iconUrl
string or null

Responses

Request samples

Content type
{
  • "name": "string",
  • "apiVersion": "string",
  • "iconUrl": "string"
}

Delete an app

path Parameters
appID
required
string

Responses

Webhook

Register a new webhook

path Parameters
appID
required
string
Request Body schema:
url
string or null
topic
string or null

Responses

Request samples

Content type
{
  • "url": "string",
  • "topic": "string"
}

Test a webhook registration

path Parameters
appID
required
string
topic
required
string

Responses

Organization

/organization

Request Body schema:
name
required
string
keyperApiKey
required
string
timezone
required
string
groupName
required
string (GroupTypeEnum)
Enum: "unknown" "cov19" "co2" "edu" "doc" "vaccine" "plastic"
gln
string or null
contactPhone
string or null
contactEmail
string or null
website
string or null <uri>
mainColor
string or null
object (SaveOrganizationAddressDto)
requiredVerificationLevel
string (AccountVerificationLevelEnum)
Enum: "unverified" "person"
object (SaveOrganizationFeatureDto)

Responses

Request samples

Content type
{
  • "name": "string",
  • "keyperApiKey": "string",
  • "timezone": "string",
  • "groupName": "unknown",
  • "gln": "string",
  • "contactPhone": "string",
  • "contactEmail": "string",
  • "website": "http://example.com",
  • "mainColor": "string",
  • "address": {
    },
  • "requiredVerificationLevel": "unverified",
  • "features": {
    }
}

/organization/{organizationID}

path Parameters
organizationID
required
string
Request Body schema:
name
required
string
timezone
required
string
gln
string or null
contactPhone
string or null
contactEmail
string or null
website
string or null
mainColor
string or null
object (SaveOrganizationAddressDto)
requiredVerificationLevel
string (AccountVerificationLevelEnum)
Enum: "unverified" "person"
object (SaveOrganizationFeatureDto)

Responses

Request samples

Content type
{
  • "name": "string",
  • "timezone": "string",
  • "gln": "string",
  • "contactPhone": "string",
  • "contactEmail": "string",
  • "website": "string",
  • "mainColor": "string",
  • "address": {
    },
  • "requiredVerificationLevel": "unverified",
  • "features": {
    }
}

/organization/{organizationID}

path Parameters
organizationID
required
string

Responses

/organization/{organizationID}/communication-options

path Parameters
organizationID
required
string

Responses

/organization/{organizationID}/communication-options

path Parameters
organizationID
required
string
Request Body schema:
required
Array of objects (SaveCommunicationOptionDto)
Array
id
required
string (CommunicationOptionEnum)
Enum: "email" "sms" "customer_card"
disabled
boolean
selected
boolean

Responses

Request samples

Content type
{
  • "options": [
    ]
}

/organization/{organizationID}/healthauthority

path Parameters
organizationID
required
string

Responses

/organization/{organizationID}/healthauthority

path Parameters
organizationID
required
string
Request Body schema:
type
string (HealthAuthorityTypeEnum)
Enum: "unknown" "swiss_bag" "austrian_ems"
data
any or null

Responses

Request samples

Content type
{
  • "type": "unknown",
  • "data": null
}

Organization accounts

Get all accounts that are linked to the organization.

path Parameters
organizationID
required
string
query Parameters
search
string
role
Array of strings
communicationChannel
Array of strings (CommunicationChannelTypeEnum)
Items Enum: "phone" "email"
offset
integer <int32>
limit
integer <int32>

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "totalNumber": 0
}

Create a new account and link in to the organization.

path Parameters
organizationID
required
string
Request Body schema:
name
required
string
language
string or null
email
string or null
phone
string or null
object (CreateIdentityDto)
object (CreateIdentityDto)
roles
required
Array of strings (RoleEnum)
Items Enum: "test.checkin.write" "test.result.write" "organization.manage" "cfp.read" "apps.read" "apps.manage" "vaccination.checkin.write" "organization.test.manage" "support" "security.token.exchange" "test.label.generate" "organization.write" "roles.unspecified"
additionalOrganizations
Array of strings or null

Responses

Request samples

Content type
{
  • "name": "string",
  • "language": "string",
  • "email": "string",
  • "phone": "string",
  • "initialIdentity": {
    },
  • "otherIdentity": {
    },
  • "roles": [
    ],
  • "additionalOrganizations": [
    ]
}

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified",
  • "roles": [
    ],
  • "identityCount": 0,
  • "identity_count": 0,
  • "organizations": [
    ]
}

Get a single linked accounts data.

path Parameters
accountKey
required
string <uuid>
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified",
  • "roles": [
    ],
  • "identityCount": 0,
  • "identity_count": 0,
  • "organizations": [
    ]
}

Remove an account from an organization. The account will NOT be deleted!

path Parameters
accountKey
required
string <uuid>
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified",
  • "roles": [
    ],
  • "identityCount": 0,
  • "identity_count": 0,
  • "organizations": [
    ]
}

Link an existing account to an organization.

path Parameters
accountKey
required
string <uuid>
organizationID
required
string
Request Body schema:
roles
Array of strings or null (RoleEnum)
Enum: "test.checkin.write" "test.result.write" "organization.manage" "cfp.read" "apps.read" "apps.manage" "vaccination.checkin.write" "organization.test.manage" "support" "security.token.exchange" "test.label.generate" "organization.write" "roles.unspecified"

Responses

Request samples

Content type
{
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified",
  • "roles": [
    ],
  • "identityCount": 0,
  • "identity_count": 0,
  • "organizations": [
    ]
}

Update an accounts roles in the organization.

path Parameters
accountKey
required
string <uuid>
organizationID
required
string
Request Body schema:
roles
Array of strings or null (RoleEnum)
Enum: "test.checkin.write" "test.result.write" "organization.manage" "cfp.read" "apps.read" "apps.manage" "vaccination.checkin.write" "organization.test.manage" "support" "security.token.exchange" "test.label.generate" "organization.write" "roles.unspecified"

Responses

Request samples

Content type
{
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified",
  • "roles": [
    ],
  • "identityCount": 0,
  • "identity_count": 0,
  • "organizations": [
    ]
}

Update an accounts name in the organization.

path Parameters
accountKey
required
string <uuid>
organizationID
required
string
Request Body schema:
updatedName
required
string

Responses

Request samples

Content type
{
  • "updatedName": "string"
}

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified",
  • "roles": [
    ],
  • "identityCount": 0,
  • "identity_count": 0,
  • "organizations": [
    ]
}

Update an accounts organizations in the organization.

path Parameters
accountKey
required
string <uuid>
organizationID
required
string
Request Body schema:
updatedOrganizations
Array of strings or null
isDeleted
boolean

Responses

Request samples

Content type
{
  • "updatedOrganizations": [
    ],
  • "isDeleted": true
}

Response samples

Content type
application/json
{
  • "accountKey": "a1ba9121-91cb-4c1e-a87d-5728c28cdd30",
  • "account_key": "8d097bc0-5265-47eb-90ab-cc8e3a1e4f74",
  • "name": "string",
  • "email": "string",
  • "phone": "string",
  • "language": "string",
  • "identities": [
    ],
  • "verificationLevel": "unverified",
  • "roles": [
    ],
  • "identityCount": 0,
  • "identity_count": 0,
  • "organizations": [
    ]
}

Get all organization's accounts that should send to them delete warning

path Parameters
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "totalNumber": 0
}

Send a delete warning to the list of accounts in the organization.

path Parameters
organizationID
required
string
Request Body schema:
Array of objects or null (AccountInParameter)
Array
accountKey
string <uuid>

Responses

Request samples

Content type
{
  • "accounts": [
    ]
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Get all organization's accounts that should be deleted

path Parameters
organizationID
required
string
query Parameters
daysToWait
integer <int32>
Default: 7

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "totalNumber": 0
}

Remove a list of accounts in the organization.

path Parameters
organizationID
required
string
Request Body schema:
Array of objects or null (AccountInParameter)
Array
accountKey
string <uuid>

Responses

Request samples

Content type
{
  • "accounts": [
    ]
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Create a personal access token

path Parameters
organizationID
required
string
Request Body schema:
tokenName
string or null
expireDate
string <date-time>
roles
Array of strings or null (RoleEnum)
Enum: "test.checkin.write" "test.result.write" "organization.manage" "cfp.read" "apps.read" "apps.manage" "vaccination.checkin.write" "organization.test.manage" "support" "security.token.exchange" "test.label.generate" "organization.write" "roles.unspecified"

Responses

Request samples

Content type
{
  • "tokenName": "string",
  • "expireDate": "2019-08-24T14:15:22Z",
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "token": "string"
}

account organizations

Get all organizations that are linked to the account with role admin

path Parameters
accountKey
required
string <uuid>
organizationID
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organization settings - Appointment fields

Get an organizations appointment fields

path Parameters
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "fields": [
    ]
}

Update an organizations appointment fields

path Parameters
organizationID
required
string
Request Body schema: application/json
fields
required
Array of strings non-empty

Responses

Request samples

Content type
application/json
{
  • "fields": [
    ]
}

Response samples

Content type
application/json
{
  • "fields": [
    ]
}

Organization settings - Certificates (CFP)

Create certificate connection

Register a new person and company (for the provided organization) on the CFP blockchain.

path Parameters
organizationID
required
string
Request Body schema:
person_name
required
string
person_email
required
string
organization_name
required
string
organization_legal_id
required
string
self_service_url
string or null
test_types
required
Array of strings (TestTypeEnum)
Items Enum: "unknown" "cov19.antigen" "cov19.pcr" "cov19.pool_pcr" "cov19.antibody" "cov19.vaccine" "co2.org" "co2.project" "co2.cert" "co2.model" "co2.container" "plastic.cert" "plastic.container"

Responses

Request samples

Content type
{
  • "person_name": "string",
  • "person_email": "string",
  • "organization_name": "string",
  • "organization_legal_id": "string",
  • "self_service_url": "string",
  • "test_types": [
    ]
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Organization settings - Communication texts

Create new communication text

path Parameters
organizationID
required
string
Request Body schema: application/json
type
required
string (CommunicationChannelTypeEnum)
Enum: "phone" "email"
eventType
required
string
testType
string (TestTypeEnum)
Enum: "unknown" "cov19.antigen" "cov19.pcr" "cov19.pool_pcr" "cov19.antibody" "cov19.vaccine" "co2.org" "co2.project" "co2.cert" "co2.model" "co2.container" "plastic.cert" "plastic.container"
result
required
string (TestResultEnum)
Enum: "unknown" "positive" "negative" "invalid" "done" "complex" "verified"
title
string or null
body
required
string
Array of objects or null (EventCommunicationTextTranslationDto)

Responses

Request samples

Content type
application/json
{
  • "type": "phone",
  • "eventType": "string",
  • "testType": "unknown",
  • "result": "unknown",
  • "title": "string",
  • "body": "string",
  • "translations": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "phone",
  • "testType": "unknown",
  • "result": "unknown",
  • "title": "string",
  • "body": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "translations": [
    ]
}

Get all communication texts

path Parameters
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "eventCommunicationTexts": [
    ]
}

Update a communication text

path Parameters
organizationID
required
string
id
required
integer <int64>
Request Body schema: application/json
type
required
string (CommunicationChannelTypeEnum)
Enum: "phone" "email"
eventType
required
string
testType
string (TestTypeEnum)
Enum: "unknown" "cov19.antigen" "cov19.pcr" "cov19.pool_pcr" "cov19.antibody" "cov19.vaccine" "co2.org" "co2.project" "co2.cert" "co2.model" "co2.container" "plastic.cert" "plastic.container"
result
required
string (TestResultEnum)
Enum: "unknown" "positive" "negative" "invalid" "done" "complex" "verified"
title
string or null
body
required
string
Array of objects or null (EventCommunicationTextTranslationDto)

Responses

Request samples

Content type
application/json
{
  • "type": "phone",
  • "eventType": "string",
  • "testType": "unknown",
  • "result": "unknown",
  • "title": "string",
  • "body": "string",
  • "translations": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "phone",
  • "testType": "unknown",
  • "result": "unknown",
  • "title": "string",
  • "body": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "translations": [
    ]
}

Delete a communication text

path Parameters
organizationID
required
string
id
required
integer <int64>
query Parameters
language
string

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Create or update translation of a communication text

path Parameters
organizationID
required
string
id
required
integer <int64>
language
required
string
Request Body schema: application/json
language
string or null
type
string (CommunicationChannelTypeEnum)
Enum: "phone" "email"
title
string or null
body
string or null

Responses

Request samples

Content type
application/json
{
  • "language": "string",
  • "type": "phone",
  • "title": "string",
  • "body": "string"
}

Response samples

Content type
application/json
{
  • "eventCommunicationTexts": [
    ]
}

Delete a communication text translation.

path Parameters
organizationID
required
string
id
required
integer <int64>
language
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Get communication text template

path Parameters
organizationID
required
string
query Parameters
testType
string
type
required
string
result
required
string (TestResultEnum)
Enum: "unknown" "positive" "negative" "invalid" "done" "complex" "verified"
locale
string

Responses

Response samples

Content type
application/json
{
  • "body": "string",
  • "title": "string"
}

Organization dashboard

Get health dashboard for the organization

path Parameters
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "otpValidTill": "2019-08-24T14:15:22Z",
  • "testCommunicationEvents": [
    ],
  • "accountCommunicationEvents": [
    ]
}

Organization settings - DCC

Get DCC settings

Get an organizations currently configured settings for digital covid certificates.

path Parameters
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "organizationName": "string",
  • "countryCode": "string",
  • "testManufacturerCode": "string",
  • "swissmedicNumber": "string",
  • "otpValidTill": "2019-08-24T14:15:22Z",
  • "otpUpdatedAt": "2019-08-24T14:15:22Z"
}

Save DCC settings

Save settings for issuing digital covid certificates for an organization.

path Parameters
organizationID
required
string
Request Body schema: application/json
organizationName
required
string <= 50 characters
countryCode
required
string <= 2 characters
testManufacturerCode
required
string
swissmedicNumber
string or null
otp
string or null

Responses

Request samples

Content type
application/json
{
  • "organizationName": "string",
  • "countryCode": "st",
  • "testManufacturerCode": "string",
  • "swissmedicNumber": "string",
  • "otp": "string"
}

Response samples

Content type
application/json
{
  • "organizationName": "string",
  • "countryCode": "string",
  • "testManufacturerCode": "string",
  • "swissmedicNumber": "string",
  • "otpValidTill": "2019-08-24T14:15:22Z",
  • "otpUpdatedAt": "2019-08-24T14:15:22Z"
}

Organization notifications

Send notification to subscribed accounts

Send a notification about a topic to all subscribed accounts of this organization.

path Parameters
organizationID
required
string
Request Body schema:
topic
required
string (AccountNotificationTopicEnum)
Value: "test_not_checked_in"
message
required
string
object or null

Responses

Request samples

Content type
{
  • "topic": "test_not_checked_in",
  • "message": "string",
  • "metafields": {
    }
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Organization tests

Search for test executions

path Parameters
organizationID
required
string
query Parameters
search
string [ 4 .. 100 ] characters
date_from
string <date-time>
date_till
string <date-time>
state
string (TestExecutionStateEnum)
Enum: "not_started" "pending" "finished"
result
string (TestResultEnum)
Enum: "unknown" "positive" "negative" "invalid" "done" "complex" "verified"
test_type
string

Responses

Response samples

Content type
application/json
{
  • "tests": [
    ]
}

Get test execution

path Parameters
testCode
required
string
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "test_code": "string",
  • "test": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "state": "not_started",
  • "result": "unknown",
  • "result_created_at": "2019-08-24T14:15:22Z",
  • "external_reference": "string",
  • "mails": [
    ],
  • "history": [
    ],
  • "healthAuthorityEvents": [
    ]
}

Un check in test execution

path Parameters
testCode
required
string
organizationID
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Get reports for a test execution.

path Parameters
testCode
required
string
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "reports": [
    ]
}

Get DCC(s) for a test execution.

path Parameters
testCode
required
string
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "url": "string"
}

Resend billing mail for a test execution.

path Parameters
testCode
required
string
organizationID
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Reissue the DCC for a test execution

path Parameters
testCode
required
string
organizationID
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Send notification to health authority (again)

path Parameters
testCode
required
string
organizationID
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Send notification mail to customer again

path Parameters
testCode
required
string
organizationID
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Create recovery certificate

path Parameters
testCode
required
string
organizationID
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Update a test execution mail in the organization.

path Parameters
testCode
required
string
organizationID
required
string
Request Body schema:
updatedMail
required
string

Responses

Request samples

Content type
{
  • "updatedMail": "string"
}

Response samples

Content type
application/json
{
  • "communicationChannelID": 0,
  • "type": "phone",
  • "language": "string",
  • "target": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Search for test executions in all organization

path Parameters
organizationID
required
string
query Parameters
search
string [ 4 .. 100 ] characters
date_from
string <date-time>
date_till
string <date-time>
state
string (TestExecutionStateEnum)
Enum: "not_started" "pending" "finished"
result
string (TestResultEnum)
Enum: "unknown" "positive" "negative" "invalid" "done" "complex" "verified"
test_type
string

Responses

Response samples

Content type
application/json
{
  • "globalTests": [
    ]
}

Create test execution for an organization

path Parameters
organizationID
required
string
Request Body schema:
externalReference
required
string
encodedService
required
string
object (CreateCheckInIdentityDto)
Array of objects or null (CreateCommunicationChannelInParameter)
suppressCustomerNotification
boolean or null
organizationID
string or null
timestamp
string or null <date-time>
uid
string or null
logoUrl
string or null
name
string or null
operator
string or null
certifiedBy
string or null
startDate
string <date-time>
object (OrgLocation)
updates
string or null
organizationReference
string or null

Responses

Request samples

Content type
{
  • "externalReference": "string",
  • "encodedService": "string",
  • "identity": {
    },
  • "communicationChannels": [
    ],
  • "suppressCustomerNotification": true,
  • "organizationID": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "uid": "string",
  • "logoUrl": "string",
  • "name": "string",
  • "operator": "string",
  • "certifiedBy": "string",
  • "startDate": "2019-08-24T14:15:22Z",
  • "location": {
    },
  • "updates": "string",
  • "organizationReference": "string"
}

Response samples

Content type
application/json
{
  • "test_code": "string",
  • "test": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "state": "not_started",
  • "result": "unknown",
  • "result_created_at": "2019-08-24T14:15:22Z",
  • "external_reference": "string",
  • "mails": [
    ],
  • "history": [
    ],
  • "healthAuthorityEvents": [
    ]
}

Organization settings - Test configuration

Get an organizations test configuration

path Parameters
organizationID
required
string

Responses

Response samples

Content type
application/json
{
  • "tests": [
    ]
}

Save an organizations test configuration item

With this API call you can save a single test configuration item for an organization. Depending on the test, either a new item is created or an existing one is updated. There can only be one configuration per test (e.g. cov19.antigen.., cov19.pcr..saliva, etc.)

path Parameters
organizationID
required
string
Request Body schema: application/json
required
object (SaveTestDto)
hexColor
string or null <= 9 characters
validationRegex
string or null <= 200 characters

Responses

Request samples

Content type
application/json
{
  • "test": {
    },
  • "hexColor": "string",
  • "validationRegex": "string"
}

Response samples

Content type
application/json
{
  • "test": {
    },
  • "hexColor": "string",
  • "validationRegex": "string"
}

Test kit

Create a new testkit

Creates a new pack of test-codes (test-kit) that can be used for check-in. Prefixes always start with 'C19' followed by the type encoding (AAP -> Antigen, Antibody, PCR | PCR -> PCR | PPC -> PCR, Pool PCR). So the prefix would look like e.g. 'C19AAP'.

path Parameters
organizationID
required
string
Request Body schema:
prefix
string or null
numberOfKits
integer or null <int32> [ 1 .. 50 ]
numberOfCodesPerKit
integer or null <int32> [ 1 .. 50 ]

Responses

Request samples

Content type
{
  • "prefix": "string",
  • "numberOfKits": 1,
  • "numberOfCodesPerKit": 1
}

Response samples

Content type
application/json
{
  • "testKits": [
    ]
}

Test type

Update the types for the organization

Update the types for the organization

path Parameters
organizationID
required
string
Request Body schema:
groupName
string (GroupTypeEnum)
Enum: "unknown" "cov19" "co2" "edu" "doc" "vaccine" "plastic"
types
Array of strings or null
isDeleted
boolean

Responses

Request samples

Content type
{
  • "groupName": "unknown",
  • "types": [
    ],
  • "isDeleted": true
}

Response samples

Content type
application/json
{
  • "organizationID": "string",
  • "groupName": "unknown",
  • "types": [
    ]
}

Get test types for organization

Get all test types for an organization

path Parameters
organizationID
required
string
query Parameters
group
string (GroupTypeEnum)
Enum: "unknown" "cov19" "co2" "edu" "doc" "vaccine" "plastic"

Responses

Response samples

Content type
application/json
{
  • "organizationID": "string",
  • "groupName": "unknown",
  • "types": [
    ]
}

Get standard types by group type for organization

Get all standard types by group for an organization

path Parameters
organizationID
required
string
query Parameters
group
string (GroupTypeEnum)
Enum: "unknown" "cov19" "co2" "edu" "doc" "vaccine" "plastic"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete test type

Delete test type for a group

path Parameters
groupType
required
string (GroupTypeEnum)
Enum: "unknown" "cov19" "co2" "edu" "doc" "vaccine" "plastic"
type
required
string
organizationID
required
string

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

Check-In (DEPRECATED)

Verify permission - DEPRECATED (use get appointment instead) Deprecated

Request Body schema:
barcode
required
string

Scanned barcode value

Responses

Request samples

Content type
{
  • "barcode": "string"
}

Result

Get test check-in state / execution state

Please note: the permission check for this call works differnt to the check of other calls.It´s possible to get the test execution state of every test the account has access to and not only of the currently logged in organization!

path Parameters
testCode
required
string

Responses

Response samples

Content type
application/json
{
  • "test_code": "string",
  • "test_type": "unknown",
  • "test": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "state": "not_started",
  • "result": "unknown",
  • "external_reference": "string",
  • "flags": {
    },
  • "result_options": [
    ],
  • "projectName": "string",
  • "projectType": "string",
  • "certificateInfo": {
    },
  • "projectInfo": {
    },
  • "organizationInfo": {
    }
}

Save test result

Please note: the permission check for this call works differnt to the check of other calls.It´s possible to save the test result of every test the account has access to and not only of the currently logged in organization!

path Parameters
testCode
required
string
Request Body schema: application/json
test_code
required
string
result
required
string (TestResultEnum)
Enum: "unknown" "positive" "negative" "invalid" "done" "complex" "verified"
suppress_customer_notification
boolean or null
suppress_health_authority_notification
boolean or null
object (OverwriteTestDto)
metafields
any or null
communication_options
Array of strings or null (CommunicationOptionEnum)
Enum: "email" "sms" "customer_card"

Responses

Request samples

Content type
application/json
{
  • "test_code": "string",
  • "result": "unknown",
  • "suppress_customer_notification": true,
  • "suppress_health_authority_notification": true,
  • "overwrite_test": {
    },
  • "metafields": null,
  • "communication_options": [
    ]
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

External Result

Get test check-in state / execution state by external reference

path Parameters
externalReference
required
string

Responses

Test

Save an intermediate test state (e.g. processing in laboratory started, etc.)

path Parameters
testCode
required
string
Request Body schema: application/json
suppressCustomerNotification
boolean or null
customMessage
string or null

Responses

Request samples

Content type
application/json
{
  • "suppressCustomerNotification": true,
  • "customMessage": "string"
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "property1": null,
  • "property2": null
}

/test/{testCode}/report

path Parameters
testCode
required
string
Request Body schema: multipart/form-data
ContentType
string
ContentDisposition
string
object
Length
integer <int64>
Name
string
FileName
string

Responses

/test/{testCode}/dcc

path Parameters
testCode
required
string
Request Body schema: multipart/form-data
ContentType
string
ContentDisposition
string
object
Length
integer <int64>
Name
string
FileName
string

Responses

Label

Generate PDF label link

path Parameters
testCode
required
string
Request Body schema:
test_code
required
string

Responses

Request samples

Content type
{
  • "test_code": "string"
}

TestCode

Get test code

Get test code from running number and last four characters

query Parameters
runningNumber
required
string
lastFour
required
string

Responses

Response samples

Content type
application/json
{
  • "testCode": "string"
}

ValueSet

Get vaccine value set

Responses

Get manufacturer value set

query Parameters
onlyAcceptedCh
boolean
Default: false

Responses