# E-Invoice

**Summary:** Endpoints for E-Invoice

- Role: [Developers](https://www.subrite.no/developers)
- Source: https://www.subrite.no/developers/e-invoice
- Updated: 2026-10-13
- Markdown index: https://www.subrite.no/developers/llms.txt

<a id="post-api-v1-e-invoice-subscribe"></a>
## Subscribe a package via invoice payment

`POST /api/v1/e-invoice/subscribe`

**Authentication:** Bearer token (JWT)

### Request body

Content type: `application/json` · Required · `EInvoicePackageSubscriptionDto`

| Name | Type | Description |
| --- | --- | --- |
| `packageId` (Required) | `number` |   |
| `optionalProducts` | `array of OptionalProductWithQuantity` |   |
| `optionalProducts[].productId` (Required when parent is present) | `number` | `minimum`: `1` |
| `optionalProducts[].quantity` (Required when parent is present) | `number` | `minimum`: `1` |
| `optionalProducts[].shippingCountry` | `string` | `maxLength`: `64` |
| `optionalProducts[].manualPrice` | `number` |   |
| `mainProductsWithManualPrice` | `array of MainProductWithManualPrice` |   |
| `mainProductsWithManualPrice[].productId` (Required when parent is present) | `number` |   |
| `mainProductsWithManualPrice[].manualPrice` (Required when parent is present) | `number` | `minimum`: `1` |
| `userData` (Required) | `FakturaCheckoutUser` |   |
| `userData.memberId` | `string` |   |
| `userData.email` | `string (email)` |   |
| `userData.fullName` (Required) | `string` |   |
| `userData.phone` | `string` | `maxLength`: `20` |
| `userData.countryCode` | `string` | Allowed values: `"NO"`, `"SE"`, `"DK"`, `"FI"`, `"FO"`, `"GB"` |
| `userData.isCompany` | `boolean` |   |
| `userData.companyName` | `string` |   |
| `userData.organizationNo` | `string` |   |
| `userData.reference` | `string` |   |
| `userData.onCheckoutCompletedUrl` | `string` |   |
| `userData.sourceUrl` | `string` |   |
| `userData.referrerUrl` | `string` |   |
| `billingAddress` | `BillingAddress` |   |
| `billingAddress.address` (Required when parent is present) | `string` |   |
| `billingAddress.addressTwo` | `string` |   |
| `billingAddress.companyName` | `string` |   |
| `billingAddress.organizationNo` | `string` |   |
| `billingAddress.postCode` (Required when parent is present) | `string` |   |
| `billingAddress.city` | `string` |   |
| `billingAddress.country` (Required when parent is present) | `string` |   |
| `billingAddress.invoiceReference` | `string` |   |
| `billingAddress.email` | `string` |   |
| `billingAddress.fullName` | `string` |   |
| `billingAddress.phone` | `string` |   |

**Example request body**

`application/json`

```json
{
  "packageId": 0,
  "userData": {
    "memberId": "string",
    "email": "user@example.com",
    "fullName": "<fullName>",
    "phone": "<phone>",
    "countryCode": "NO",
    "isCompany": true,
    "companyName": "string",
    "organizationNo": "string",
    "reference": "string",
    "onCheckoutCompletedUrl": "string",
    "sourceUrl": "string",
    "referrerUrl": "string"
  },
  "billingAddress": {
    "address": "<address>",
    "addressTwo": "<addressTwo>",
    "companyName": "string",
    "organizationNo": "string",
    "postCode": "string",
    "city": "string",
    "country": "string",
    "invoiceReference": "string",
    "email": "string",
    "fullName": "<fullName>",
    "phone": "<phone>"
  }
}
```

### Responses

#### 200

Content type: `application/json` · `FakturaPaymentResponseDto`

| Name | Type | Description |
| --- | --- | --- |
| `checkoutStateUuid` (Required) | `string` |   |
| `memberPackage` (Required) | `MemberPackage` |   |
| `memberPackage.memberId` (Required) | `string` |   |
| `memberPackage.packageId` (Required) | `number` |   |
| `memberPackage.subscriptionPlanId` (Required) | `number` |   |
| `memberPackage.recurringPrice` (Required) | `number` |   |
| `memberPackage.hasCustomPrice` (Required) | `boolean` |   |
| `memberPackage.currentPrice` (Required) | `number` |   |
| `memberPackage.status` (Required) | `string` | Allowed values: `"active"`, `"inactive"`, `"pending"`, `"paused"`, `"stopped"`, `"expired"`, `"waiting_for_activation"` |
| `memberPackage.autoRenew` (Required) | `boolean` |   |
| `memberPackage.nextRenewal` (Required) | `string (date-time)` |   |
| `memberPackage.renewalAnchorDate` (Required) | `string (date-time)` |   |
| `memberPackage.currentPeriodStart` (Required) | `string (date-time)` |   |
| `memberPackage.forcedStopDate` (Required) | `string (date-time)` |   |
| `memberPackage.cancelledAt` (Required) | `string (date-time)` |   |
| `memberPackage.isCustomized` (Required) | `boolean` |   |
| `memberPackage.paymentProvider` (Required) | `string` | Allowed values: `"stripe"`, `"vipps"`, `"external"`, `"nets"`, `"efaktura-avtalegiro-ehf"`, `"swedbankpay"` |
| `memberPackage.reference` (Required) | `string` |   |
| `memberPackage.lastActiveAt` (Required) | `string (date-time)` |   |
| `memberPackage.isOnIntroPeriod` (Required) | `boolean` |   |
| `memberPackage.nextOrderDate` (Required) | `string (date-time)` |   |
| `memberPackage.scheduledActivationDate` (Required) | `string (date-time)` | Can be null |
| `memberPackage.package` (Required) | `Package` |   |
| `memberPackage.package.paymentProviders` (Required) | `array of PAYMENT_PROVIDER` | Allowed values: `"stripe"`, `"vipps"`, `"external"`, `"nets"`, `"efaktura-avtalegiro-ehf"`, `"swedbankpay"` |
| `memberPackage.package.repeatPurchaseControl` (Required) | `RepeatPurchaseControl` | Allowed values: `"allow"`, `"warning"`, `"block_active"`, `"block_forever"`, `"cooldown"` |
| `memberPackage.package.repeatPurchaseCooldownDays` | `number` | Can be null |
| `memberPackage.package.displayOrder` | `number` | Can be null |
| `memberPackage.package.seo` | `Seo` | Can be null · Nested fields omitted: depth limit. |
| `memberPackage.package.salesTitle` (Required) | `string` |   |
| `memberPackage.package.uuid` (Required) | `string` |   |
| `memberPackage.package.subscriptionPlanId` (Required) | `number` |   |
| `memberPackage.package.slug` (Required) | `string` |   |
| `memberPackage.package.image` (Required) | `string` |   |
| `memberPackage.package.name` (Required) | `string` |   |
| `memberPackage.package.description` (Required) | `object` |   |
| `memberPackage.package.billingPeriod` (Required) | `string` | Allowed values: `"monthly"`, `"thirty_days"`, `"quarterly"`, `"half_yearly"`, `"yearly"`, `"custom"` |
| `memberPackage.package.billingPeriodUnit` (Required) | `string` | Allowed values: `"day"`, `"week"`, `"month"`, `"year"` |
| `memberPackage.package.billingPeriodFrequency` (Required) | `number` |   |
| `memberPackage.package.status` (Required) | `string` | Allowed values: `"draft"`, `"published"`, `"archived"` |
| `memberPackage.package.isAvailableOnMyPage` (Required) | `boolean` |   |
| `memberPackage.package.isAvailableViaSlug` (Required) | `boolean` |   |
| `memberPackage.package.isAvailableForManualOrderViaAdmin` (Required) | `boolean` |   |
| `memberPackage.package.allowSameSubscriptionChange` (Required) | `boolean` |   |
| `memberPackage.package.allowDifferentSubscriptionSwitch` (Required) | `boolean` |   |
| `memberPackage.package.tenantId` (Required) | `number` |   |
| `memberPackage.package.onboardingWelcomeRedirectCTAText` (Required) | `Translation` | Nested fields omitted: depth limit. |
| `memberPackage.package.customPeriodText` (Required) | `Translation` | Nested fields omitted: depth limit. |
| `memberPackage.package.orderCtaLabel` (Required) | `Translation` | Nested fields omitted: depth limit. |
| `memberPackage.package.introPeriodFixedEndDate` (Required) | `string (date-time)` |   |
| `memberPackage.package.packageProducts` (Required) | `array of PackageProduct` | Nested fields omitted: depth limit. |
| `memberPackage.package.subscriptionPlan` (Required) | `SubscriptionPlan` | Nested fields omitted: depth limit. |
| `memberPackage.package.payments` (Required) | `array of Payment` | Nested fields omitted: depth limit. |
| `memberPackage.package.memberPackages` (Required) | `array of MemberPackage` | Recursive schema; nested fields are not repeated. |
| `memberPackage.package.id` (Required) | `number` |   |
| `memberPackage.package.createdAt` (Required) | `string (date-time)` |   |
| `memberPackage.package.updatedAt` (Required) | `string (date-time)` |   |
| `memberPackage.package.deletedAt` (Required) | `string (date-time)` |   |
| `memberPackage.package.metaData` (Required) | `object` |   |
| `memberPackage.subscriptionPlan` (Required) | `SubscriptionPlan` | Nested fields omitted: field limit. |
| `memberPackage.member` (Required) | `Member` | Nested fields omitted: field limit. |
| `memberPackage.memberPackageProducts` (Required) | `array of MemberPackageProduct` | Nested fields omitted: field limit. |
| `memberPackage.orders` (Required) | `array of Order` | Nested fields omitted: field limit. |
| `memberPackage.memberPackageProviderPayment` (Required) | `MemberPackageProviderPayment` | Nested fields omitted: field limit. |
| `memberPackage.changes` (Required) | `array of MemberPackageChange` | Nested fields omitted: field limit. |
| `memberPackage.histories` (Required) | `array of MemberPackageHistory` | Nested fields omitted: field limit. |
| `memberPackage.tenantId` (Required) | `number` |   |
| `memberPackage.tenant` (Required) | `Tenant` | Nested fields omitted: field limit. |
| `memberPackage.id` (Required) | `number` |   |
| `memberPackage.createdAt` (Required) | `string (date-time)` |   |
| `memberPackage.updatedAt` (Required) | `string (date-time)` |   |
| `memberPackage.deletedAt` (Required) | `string (date-time)` |   |
| `memberPackage.metaData` (Required) | `object` |   |
| `invoiceNumber` | `number` |   |

#### 400

invalidPackage, badRequest

#### 401

Content type: `application/json` · `ErrorResponse`

unauthorized

| Name | Type | Description |
| --- | --- | --- |
| `messageCode` (Required) | `string` |   |
| `message` | `string` |   |
| `errors` (Required) | `array of FieldError` |   |
| `errors[].field` (Required when parent is present) | `string` |   |
| `errors[].fieldValue` (Required when parent is present) | `string` |   |
| `errors[].identifier` (Required when parent is present) | `string` |   |
| `errors[].identifierValue` (Required when parent is present) | `string` |   |
| `errors[].messageCode` (Required when parent is present) | `string` |   |
| `errors[].message` | `string` |   |
| `errors[].errorType` (Required when parent is present) | `string` |   |

**Example response**

`application/json`

```json
{
  "messageCode": "string",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 403

Content type: `application/json` · `ErrorResponse`

forbiddenResource

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

#### 500

Content type: `application/json` · `ErrorResponse`

internalServerError

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

### Example request

```bash
curl https://api.subrite.no/api/v1/e-invoice/subscribe \
  --request POST \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "packageId": 0,
  "optionalProducts": [
    {}
  ],
  "mainProductsWithManualPrice": [
    {}
  ],
  "userData": {
    "memberId": "string",
    "email": "user@example.com",
    "fullName": "<fullName>",
    "phone": "<phone>",
    "countryCode": "NO",
    "isCompany": true,
    "companyName": "string",
    "organizationNo": "string",
    "reference": "string",
    "onCheckoutCompletedUrl": "string",
    "sourceUrl": "string",
    "referrerUrl": "string"
  },
  "billingAddress": {
    "address": "<address>",
    "addressTwo": "<addressTwo>",
    "companyName": "string",
    "organizationNo": "string",
    "postCode": "string",
    "city": "string",
    "country": "string",
    "invoiceReference": "string",
    "email": "string",
    "fullName": "<fullName>",
    "phone": "<phone>"
  }
}'
```

### Example response

200 · `application/json`

```json
{
  "checkoutStateUuid": "string",
  "memberPackage": {
    "memberId": "string",
    "packageId": 0,
    "subscriptionPlanId": 0,
    "recurringPrice": 0,
    "hasCustomPrice": true,
    "currentPrice": 0,
    "status": "active",
    "autoRenew": true,
    "nextRenewal": "2019-08-24T14:15:22Z",
    "renewalAnchorDate": "2019-08-24T14:15:22Z",
    "currentPeriodStart": "2019-08-24T14:15:22Z",
    "forcedStopDate": "2019-08-24T14:15:22Z",
    "cancelledAt": "2019-08-24T14:15:22Z",
    "isCustomized": true,
    "paymentProvider": "stripe",
    "reference": "string",
    "lastActiveAt": "2019-08-24T14:15:22Z",
    "isOnIntroPeriod": true,
    "nextOrderDate": "2019-08-24T14:15:22Z",
    "scheduledActivationDate": "2019-08-24T14:15:22Z",
    "package": {
      "paymentProviders": [],
      "description": {},
      "packageProducts": [],
      "payments": [],
      "memberPackages": [],
      "metaData": {}
    },
    "subscriptionPlan": {
      "paymentProviders": [],
      "entityTags": [],
      "subscriptionPlanProducts": [],
      "packages": [],
      "memberPackages": [],
      "metaData": {}
    },
    "member": {
      "customPropertyValues": {},
      "productRecipients": [],
      "metaData": {}
    },
    "memberPackageProducts": [],
    "orders": [],
    "memberPackageProviderPayment": {
      "paymentInfo": {},
      "cardInfo": {},
      "metaData": {}
    },
    "changes": [],
    "histories": [],
    "tenantId": 0,
    "tenant": {
      "additionalFeatures": [],
      "disabledFeatures": [],
      "taxRates": [],
      "products": [],
      "users": [],
      "members": [],
      "roles": [],
      "subscriptionPlans": [],
      "packages": [],
      "invoices": [],
      "orders": [],
      "paymentProviders": [],
      "newslettersProviderConfig": [],
      "paymentProviderConfigs": [],
      "oidcClients": [],
      "oauthProviders": [],
      "activityLogs": [],
      "m2m_api_clients": [],
      "customProperties": [],
      "consents": [],
      "communicationTemplates": [],
      "additionalHostnames": [],
      "exportHistory": [],
      "arReportHistory": [],
      "mypageCardsSettings": [],
      "webhooks": [],
      "customOrders": [],
      "customOrderSources": [],
      "brandKits": [],
      "communicationReceivers": [],
      "metaData": {}
    },
    "id": 0,
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "deletedAt": "2019-08-24T14:15:22Z",
    "metaData": {}
  },
  "invoiceNumber": 0
}
```

<a id="post-api-v1-e-invoice-subscribe-from-admin"></a>
## Subscribe a package via invoice payment from admin

`POST /api/v1/e-invoice/subscribe-from-admin`

**Authentication:** Bearer token (JWT)

### Request body

Content type: `application/json` · Required · `FakturaPackageSubscriptionDto`

| Name | Type | Description |
| --- | --- | --- |
| `packageId` (Required) | `number` |   |
| `paidPaymentProvider` | `string` | Allowed values: `"stripe"`, `"vipps"`, `"external"`, `"nets"`, `"efaktura-avtalegiro-ehf"`, `"swedbankpay"` |
| `paymentDate` | `string (date-time)` |   |
| `isPaid` | `boolean` |   |
| `note` | `string` |   |
| `optionalProducts` | `array of OptionalProductWithQuantity` |   |
| `optionalProducts[].productId` (Required when parent is present) | `number` | `minimum`: `1` |
| `optionalProducts[].quantity` (Required when parent is present) | `number` | `minimum`: `1` |
| `optionalProducts[].shippingCountry` | `string` | `maxLength`: `64` |
| `optionalProducts[].manualPrice` | `number` |   |
| `mainProductsWithManualPrice` | `array of MainProductWithManualPrice` |   |
| `mainProductsWithManualPrice[].productId` (Required when parent is present) | `number` |   |
| `mainProductsWithManualPrice[].manualPrice` (Required when parent is present) | `number` | `minimum`: `1` |
| `userData` (Required) | `FakturaCheckoutUser` |   |
| `userData.memberId` | `string` |   |
| `userData.email` | `string (email)` |   |
| `userData.fullName` (Required) | `string` |   |
| `userData.phone` | `string` | `maxLength`: `20` |
| `userData.countryCode` | `string` | Allowed values: `"NO"`, `"SE"`, `"DK"`, `"FI"`, `"FO"`, `"GB"` |
| `userData.isCompany` | `boolean` |   |
| `userData.companyName` | `string` |   |
| `userData.organizationNo` | `string` |   |
| `userData.reference` | `string` |   |
| `userData.onCheckoutCompletedUrl` | `string` |   |
| `userData.sourceUrl` | `string` |   |
| `userData.referrerUrl` | `string` |   |
| `billingAddress` | `BillingAddress` |   |
| `billingAddress.address` (Required when parent is present) | `string` |   |
| `billingAddress.addressTwo` | `string` |   |
| `billingAddress.companyName` | `string` |   |
| `billingAddress.organizationNo` | `string` |   |
| `billingAddress.postCode` (Required when parent is present) | `string` |   |
| `billingAddress.city` | `string` |   |
| `billingAddress.country` (Required when parent is present) | `string` |   |
| `billingAddress.invoiceReference` | `string` |   |
| `billingAddress.email` | `string` |   |
| `billingAddress.fullName` | `string` |   |
| `billingAddress.phone` | `string` |   |

**Example request body**

`application/json`

```json
{
  "packageId": 0,
  "paidPaymentProvider": "stripe",
  "paymentDate": "2019-08-24T14:15:22Z",
  "isPaid": true,
  "note": "string",
  "userData": {
    "memberId": "string",
    "email": "user@example.com",
    "fullName": "<fullName>",
    "phone": "<phone>",
    "countryCode": "NO",
    "isCompany": true,
    "companyName": "string",
    "organizationNo": "string",
    "reference": "string",
    "onCheckoutCompletedUrl": "string",
    "sourceUrl": "string",
    "referrerUrl": "string"
  },
  "billingAddress": {
    "address": "<address>",
    "addressTwo": "<addressTwo>",
    "companyName": "string",
    "organizationNo": "string",
    "postCode": "string",
    "city": "string",
    "country": "string",
    "invoiceReference": "string",
    "email": "string",
    "fullName": "<fullName>",
    "phone": "<phone>"
  }
}
```

### Responses

#### 200

Content type: `application/json` · `FakturaPaymentResponseDto`

Same fields as [Subscribe a package via invoice payment (200)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

#### 400

invalidPackage, badRequest

#### 401

unauthorized

#### 403

Content type: `application/json` · `ErrorResponse`

forbiddenResource

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

**Example response**

`application/json`

```json
{
  "messageCode": "string",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 500

Content type: `application/json` · `ErrorResponse`

internalServerError

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

### Example request

```bash
curl https://api.subrite.no/api/v1/e-invoice/subscribe-from-admin \
  --request POST \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "packageId": 0,
  "paidPaymentProvider": "stripe",
  "paymentDate": "2019-08-24T14:15:22Z",
  "isPaid": true,
  "note": "string",
  "optionalProducts": [
    {}
  ],
  "mainProductsWithManualPrice": [
    {}
  ],
  "userData": {
    "memberId": "string",
    "email": "user@example.com",
    "fullName": "<fullName>",
    "phone": "<phone>",
    "countryCode": "NO",
    "isCompany": true,
    "companyName": "string",
    "organizationNo": "string",
    "reference": "string",
    "onCheckoutCompletedUrl": "string",
    "sourceUrl": "string",
    "referrerUrl": "string"
  },
  "billingAddress": {
    "address": "<address>",
    "addressTwo": "<addressTwo>",
    "companyName": "string",
    "organizationNo": "string",
    "postCode": "string",
    "city": "string",
    "country": "string",
    "invoiceReference": "string",
    "email": "string",
    "fullName": "<fullName>",
    "phone": "<phone>"
  }
}'
```

### Example response

200 · `application/json`

```json
{
  "checkoutStateUuid": "string",
  "memberPackage": {
    "memberId": "string",
    "packageId": 0,
    "subscriptionPlanId": 0,
    "recurringPrice": 0,
    "hasCustomPrice": true,
    "currentPrice": 0,
    "status": "active",
    "autoRenew": true,
    "nextRenewal": "2019-08-24T14:15:22Z",
    "renewalAnchorDate": "2019-08-24T14:15:22Z",
    "currentPeriodStart": "2019-08-24T14:15:22Z",
    "forcedStopDate": "2019-08-24T14:15:22Z",
    "cancelledAt": "2019-08-24T14:15:22Z",
    "isCustomized": true,
    "paymentProvider": "stripe",
    "reference": "string",
    "lastActiveAt": "2019-08-24T14:15:22Z",
    "isOnIntroPeriod": true,
    "nextOrderDate": "2019-08-24T14:15:22Z",
    "scheduledActivationDate": "2019-08-24T14:15:22Z",
    "package": {
      "paymentProviders": [],
      "description": {},
      "packageProducts": [],
      "payments": [],
      "memberPackages": [],
      "metaData": {}
    },
    "subscriptionPlan": {
      "paymentProviders": [],
      "entityTags": [],
      "subscriptionPlanProducts": [],
      "packages": [],
      "memberPackages": [],
      "metaData": {}
    },
    "member": {
      "customPropertyValues": {},
      "productRecipients": [],
      "metaData": {}
    },
    "memberPackageProducts": [],
    "orders": [],
    "memberPackageProviderPayment": {
      "paymentInfo": {},
      "cardInfo": {},
      "metaData": {}
    },
    "changes": [],
    "histories": [],
    "tenantId": 0,
    "tenant": {
      "additionalFeatures": [],
      "disabledFeatures": [],
      "taxRates": [],
      "products": [],
      "users": [],
      "members": [],
      "roles": [],
      "subscriptionPlans": [],
      "packages": [],
      "invoices": [],
      "orders": [],
      "paymentProviders": [],
      "newslettersProviderConfig": [],
      "paymentProviderConfigs": [],
      "oidcClients": [],
      "oauthProviders": [],
      "activityLogs": [],
      "m2m_api_clients": [],
      "customProperties": [],
      "consents": [],
      "communicationTemplates": [],
      "additionalHostnames": [],
      "exportHistory": [],
      "arReportHistory": [],
      "mypageCardsSettings": [],
      "webhooks": [],
      "customOrders": [],
      "customOrderSources": [],
      "brandKits": [],
      "communicationReceivers": [],
      "metaData": {}
    },
    "id": 0,
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z",
    "deletedAt": "2019-08-24T14:15:22Z",
    "metaData": {}
  },
  "invoiceNumber": 0
}
```

<a id="post-api-v1-e-invoice-send-recurring-invoices"></a>
## Send recurring invoices to members

`POST /api/v1/e-invoice/send-recurring-invoices`

**Authentication:** Bearer token (JWT)

### Responses

#### 201

#### 401

Content type: `application/json` · `ErrorResponse`

unauthorized

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

**Example response**

`application/json`

```json
{
  "messageCode": "string",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 403

Content type: `application/json` · `ErrorResponse`

forbiddenResource

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

#### 500

Content type: `application/json` · `ErrorResponse`

internalServerError

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

### Example request

```bash
curl https://api.subrite.no/api/v1/e-invoice/send-recurring-invoices \
  --request POST \
  --header 'Authorization: Bearer <token>'
```

<a id="get-api-v1-e-invoice-orbyt-invoice-list-memberid"></a>
## Get submitted invoices from Orbyt

`GET /api/v1/e-invoice/orbyt/invoice-list/{memberId}`

**Authentication:** Bearer token (JWT)

### Parameters

| Name | In | Type | Description |
| --- | --- | --- | --- |
| `memberId` (Required) | path | `string` |   |

### Responses

#### 401

unauthorized

#### 403

Content type: `application/json` · `ErrorResponse`

forbiddenResource

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

**Example response**

`application/json`

```json
{
  "messageCode": "string",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 500

Content type: `application/json` · `ErrorResponse`

internalServerError

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

### Example request

```bash
curl 'https://api.subrite.no/api/v1/e-invoice/orbyt/invoice-list/{memberId}' \
  --header 'Authorization: Bearer <token>'
```

<a id="get-api-v1-e-invoice-orbyt-invoice-status-kid"></a>
## Get invoice status from Orbyt

`GET /api/v1/e-invoice/orbyt/invoice-status/{kid}`

**Authentication:** Bearer token (JWT)

### Parameters

| Name | In | Type | Description |
| --- | --- | --- | --- |
| `kid` (Required) | path | `string` |   |

### Responses

#### 401

unauthorized

#### 403

Content type: `application/json` · `ErrorResponse`

forbiddenResource

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

**Example response**

`application/json`

```json
{
  "messageCode": "string",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 500

Content type: `application/json` · `ErrorResponse`

internalServerError

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

### Example request

```bash
curl 'https://api.subrite.no/api/v1/e-invoice/orbyt/invoice-status/{kid}' \
  --header 'Authorization: Bearer <token>'
```

<a id="get-api-v1-e-invoice-renew-e-invoices"></a>
## Renew e-invoices

`GET /api/v1/e-invoice/renew-e-invoices`

**Authentication:** Bearer token (JWT)

### Parameters

| Name | In | Type | Description |
| --- | --- | --- | --- |
| `renewalDate` | query | `string (date-time)` |   |

### Responses

#### 401

unauthorized

#### 403

Content type: `application/json` · `ErrorResponse`

forbiddenResource

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

**Example response**

`application/json`

```json
{
  "messageCode": "string",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 500

Content type: `application/json` · `ErrorResponse`

internalServerError

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

### Example request

```bash
curl https://api.subrite.no/api/v1/e-invoice/renew-e-invoices \
  --header 'Authorization: Bearer <token>'
```

<a id="post-api-v1-e-invoice-send-existing-invoice-invoiceid"></a>
## Send existing invoice to member

`POST /api/v1/e-invoice/send-existing-invoice/{invoiceId}`

**Authentication:** Bearer token (JWT)

### Parameters

| Name | In | Type | Description |
| --- | --- | --- | --- |
| `invoiceId` (Required) | path | `number` |   |

### Responses

#### 201

#### 400

Content type: `application/json` · `ErrorResponse`

badRequest

| Name | Type | Description |
| --- | --- | --- |
| `messageCode` (Required) | `string` | Allowed values: `"badRequest"` |
| `message` | `string` |   |
| `errors` (Required) | `array of FieldError` |   |
| `errors[].field` (Required when parent is present) | `string` |   |
| `errors[].fieldValue` (Required when parent is present) | `string` |   |
| `errors[].identifier` (Required when parent is present) | `string` |   |
| `errors[].identifierValue` (Required when parent is present) | `string` |   |
| `errors[].messageCode` (Required when parent is present) | `string` |   |
| `errors[].message` | `string` |   |
| `errors[].errorType` (Required when parent is present) | `string` |   |

**Example response**

`application/json`

```json
{
  "messageCode": "badRequest",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 401

Content type: `application/json` · `ErrorResponse`

unauthorized

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

**Example response**

`application/json`

```json
{
  "messageCode": "string",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 403

Content type: `application/json` · `ErrorResponse`

forbiddenResource

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

#### 500

Content type: `application/json` · `ErrorResponse`

internalServerError

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

### Example request

```bash
curl 'https://api.subrite.no/api/v1/e-invoice/send-existing-invoice/{invoiceId}' \
  --request POST \
  --header 'Authorization: Bearer <token>'
```

<a id="get-api-v1-e-invoice-usage"></a>
## Get usage of e-invoices

`GET /api/v1/e-invoice/usage`

**Authentication:** Bearer token (JWT)

### Responses

#### 200

Content type: `application/json` · `EInvoiceUsageResponseDto`

| Name | Type | Description |
| --- | --- | --- |
| `monthly` (Required) | `array of EInvoiceUsageMonthlyDto` |   |
| `monthly[].sent_via_einvoice` (Required when parent is present) | `number` |   |
| `monthly[].sent_via_email` (Required when parent is present) | `number` |   |
| `monthly[].sent_via_sms` (Required when parent is present) | `number` |   |
| `monthly[].sent_manually` (Required when parent is present) | `number` |   |
| `monthly[].total_sent` (Required when parent is present) | `number` |   |
| `monthly[].month` (Required when parent is present) | `string` |   |
| `total` (Required) | `EInvoiceUsageTotalDto` |   |
| `total.sent_via_einvoice` (Required) | `number` |   |
| `total.sent_via_email` (Required) | `number` |   |
| `total.sent_via_sms` (Required) | `number` |   |
| `total.sent_manually` (Required) | `number` |   |
| `total.total_sent` (Required) | `number` |   |

#### 401

unauthorized

#### 403

Content type: `application/json` · `ErrorResponse`

forbiddenResource

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

**Example response**

`application/json`

```json
{
  "messageCode": "string",
  "message": "string",
  "errors": [
    {}
  ]
}
```

#### 500

Content type: `application/json` · `ErrorResponse`

internalServerError

Same fields as [Subscribe a package via invoice payment (401)](https://www.subrite.no/developers/e-invoice?md=true#post-api-v1-e-invoice-subscribe).

### Example request

```bash
curl https://api.subrite.no/api/v1/e-invoice/usage \
  --header 'Authorization: Bearer <token>'
```

### Example response

200 · `application/json`

```json
{
  "monthly": [
    {}
  ],
  "total": {
    "sent_via_einvoice": 0,
    "sent_via_email": 0,
    "sent_via_sms": 0,
    "sent_manually": 0,
    "total_sent": 0
  }
}
```
