Skip to main content
POST
/
apps
/
{client_id}
/
providers
/
{provider_id}
/
activation
/
form
curl -X POST \
  -H "Authorization: Bearer sk_workspace_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "data": {
      "legalCompanyName": "Acme Corp",
      "registeredAddress": "9 Boulevard Prince Henri, L-1724 Luxembourg",
      "vatNumber": "LU12345678",
      "registrationNumber": "12345678",
      "serviceDescription": "Customer identity verification for KYC onboarding.",
      "userDataLevel": "basic",
      "logo": "data:image/png;base64,iVBORw0KGgo...",
      "contactEmail": "compliance@acme.com"
    },
    "saveToCompanyInfo": true
  }' \
  "https://sandbox.api.hopae.com/connect/v1/apps/QzNf1D0I/providers/spid-ig/activation/form"
{
  "formId": "fe1ce6d9-90fb-4f42-88ae-4622135c7f19",
  "clientId": "QzNf1D0I",
  "providerId": "spid-ig",
  "data": {
    "legalCompanyName": "Acme Corp",
    "registeredAddress": "9 Boulevard Prince Henri, L-1724 Luxembourg",
    "vatNumber": "LU12345678",
    "registrationNumber": "12345678",
    "serviceDescription": "Customer identity verification for KYC onboarding.",
    "userDataLevel": "basic",
    "logo": "data:image/png;base64,iVBORw0KGgo...",
    "contactEmail": "compliance@acme.com"
  },
  "status": "submitted",
  "createdAt": "2026-04-20T02:20:27.521Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.hopae.com/llms.txt

Use this file to discover all available pages before exploring further.

Submits the activation request form for a specific provider. The data object must contain all fields listed in the provider’s requiredFields (from Get Activation Steps). A form can only be submitted once per provider. If the form was previously rejected, it can be resubmitted.

Request

Authorization
string
required
Bearer <API_KEY> from Console > Developers > Workspace API Keys.
Content-Type
string
application/json

Path parameters

client_id
string
required
Client identifier of the app.
provider_id
string
required
Provider identifier (e.g., smartid, spid-ig, no-bankid).

Request body

Required fields are dynamic per provider. Always call Get Activation Steps first and read steps[].requiredFields on the activation-form step — that is the authoritative list. Submitting without the expected fields returns 400 VALIDATION_MISSING_PARAMETER. Empty strings, whitespace-only values, and null are also treated as missing — the server trims and rejects them, not just absent keys.
data
object
required
Key-value object containing the provider’s required fields. Fields vary by provider — use the requiredFields from Get Activation Steps to determine which fields to submit.

Common fields

FieldTypeDescription
legalCompanyNamestringFull legal name of the company as shown on official incorporation documents.
displayNamestringShort brand name shown to end users during verification (e.g., on consent screens).
logobase64Base64-encoded PNG or SVG logo (max 256KB).
registrationNumberstringCompany registration number from your country’s business registry (e.g., RCS, HRB, CVR).
registeredAddressstringFull registered business address including street, city, postal code, and country.
vatNumberstringEU VAT identification number including the country prefix (e.g., DE123456789).
serviceDescriptionstringOne-sentence description of your service, shown during provider activation review.
websiteUrlurlPublic website URL.
contactEmailemailOperations contact email. Required for all providers — used for activation status notifications.
contactPhonestringOperations contact phone in international format.
FieldTypeDescription
userDataLevelstringSPID data retrieval scope. Allowed values: basic (name, surname, fiscal code, date of birth), advanced (adds place of birth, gender, document details, phone, email, registered address).
FieldTypeDescription
legalRepNamestringFull legal name of the authorized iDIN legal representative.
legalRepEmailemailEmail of the authorized iDIN legal representative.
legalRepPhonestringPhone of the authorized iDIN legal representative.
FieldTypeDescription
bankNamestringName of the primary bank partner for Norwegian BankID integration.
useSsnbooleanWhether you need the end-user Norwegian social security number (fødselsnummer). Requires legal basis when true.
ssnReasonstringShort justification for requesting the SSN. Required when useSsn is true.
gdprArticlestringGDPR legal basis for processing the SSN. Allowed values: GDPR Art. 6(1)(a) - Consent, GDPR Art. 6(1)(b) - Contractual Performance, GDPR Art. 6(1)(c) - Legal Compliance, GDPR Art. 6(1)(f) - Legitimate Interest.
signatoryNamestringFull name of the person signing the BankID NO service agreement on behalf of your company.
signatoryEmailemailEmail of the BankID NO signatory — must be reachable for the signing workflow.
signatoryPhonestringPhone of the BankID NO signatory.
FieldTypeDescription
privacyPolicyUrlurlLink to your privacy policy page — shown to end users before verification.
termsOfServiceUrlurlLink to your terms of service page.
saveToCompanyInfo
boolean
If true, matching fields are also persisted to the app’s company information. Defaults to false. Any field saved this way is prefilled into the requiredFields[].value returned by Get Activation Steps for subsequent providers on the same app, so your users don’t have to re-enter shared details (legal company name, address, contact email, etc.) for every provider they activate.

Response

formId
string
Unique identifier of the submitted form.
clientId
string
Client identifier of the app.
providerId
string
The provider the form was submitted for.
data
object
The submitted form data.
status
string
Always submitted on a successful submission. Review outcomes (approval, rejection) are observed via Get Activation Steps, not this endpoint.
createdAt
string
ISO 8601 timestamp of when the form was submitted.
Once the form is submitted, the activation flow advances to the next step automatically. Call Get Activation Steps to check progress.
curl -X POST \
  -H "Authorization: Bearer sk_workspace_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "data": {
      "legalCompanyName": "Acme Corp",
      "registeredAddress": "9 Boulevard Prince Henri, L-1724 Luxembourg",
      "vatNumber": "LU12345678",
      "registrationNumber": "12345678",
      "serviceDescription": "Customer identity verification for KYC onboarding.",
      "userDataLevel": "basic",
      "logo": "data:image/png;base64,iVBORw0KGgo...",
      "contactEmail": "compliance@acme.com"
    },
    "saveToCompanyInfo": true
  }' \
  "https://sandbox.api.hopae.com/connect/v1/apps/QzNf1D0I/providers/spid-ig/activation/form"
{
  "formId": "fe1ce6d9-90fb-4f42-88ae-4622135c7f19",
  "clientId": "QzNf1D0I",
  "providerId": "spid-ig",
  "data": {
    "legalCompanyName": "Acme Corp",
    "registeredAddress": "9 Boulevard Prince Henri, L-1724 Luxembourg",
    "vatNumber": "LU12345678",
    "registrationNumber": "12345678",
    "serviceDescription": "Customer identity verification for KYC onboarding.",
    "userDataLevel": "basic",
    "logo": "data:image/png;base64,iVBORw0KGgo...",
    "contactEmail": "compliance@acme.com"
  },
  "status": "submitted",
  "createdAt": "2026-04-20T02:20:27.521Z"
}