{
  "openapi": "3.0.1",
  "info": {
    "title": "Default module",
    "description": "",
    "version": "1.0.0"
  },
  "tags": [
    {
      "name": "Address"
    },
    {
      "name": "Category"
    },
    {
      "name": "Customer"
    },
    {
      "name": "External Reference"
    },
    {
      "name": "Article"
    },
    {
      "name": "Coupon"
    },
    {
      "name": "Fulfillment"
    },
    {
      "name": "Order"
    },
    {
      "name": "Reward"
    },
    {
      "name": "User"
    },
    {
      "name": "Voucher Coupons"
    },
    {
      "name": "Invoice"
    },
    {
      "name": "InvoiceAddress"
    },
    {
      "name": "Klarna"
    },
    {
      "name": "Nexi"
    },
    {
      "name": "PayEx"
    },
    {
      "name": "Payment"
    },
    {
      "name": "Vipps"
    },
    {
      "name": "Consent"
    },
    {
      "name": "Permission/Shield"
    },
    {
      "name": "Privacy"
    },
    {
      "name": "Sharing"
    },
    {
      "name": "Subscription"
    },
    {
      "name": "DeliveryStop"
    },
    {
      "name": "Complaint"
    },
    {
      "name": "Issue"
    },
    {
      "name": "Product"
    },
    {
      "name": "Delivery"
    },
    {
      "name": "ProductDeliveryPlan"
    },
    {
      "name": "ProductDependency"
    },
    {
      "name": "Recruitment"
    },
    {
      "name": "RecruitmentCampaign"
    },
    {
      "name": "Access"
    },
    {
      "name": "Credential"
    },
    {
      "name": "Metadata"
    },
    {
      "name": "Profile"
    },
    {
      "name": "External Identity"
    },
    {
      "name": "Message"
    },
    {
      "name": "Status"
    },
    {
      "name": "Stock"
    }
  ],
  "paths": {
    "/v1/customer/address": {
      "post": {
        "summary": "Change addresses",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAddress API for current and future temporary or permanent address changes.",
        "tags": [
          "Address"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeAddress-request"
              },
              "example": {
                "product": "CO27409",
                "changeType": "update",
                "id": 3,
                "careOfAddress": "",
                "streetAddress": "Grubbegata",
                "streetNumber": 6,
                "entrance": "A",
                "postalCode": 179,
                "postalPlace": "Oslo",
                "postalAddress": "Postboks 265 Økern",
                "postalAddressPostalCode": "0510",
                "postalAddressPostalPlace": "Oslo",
                "countryCode": "NO",
                "period": {
                  "startTime": 1559393560000,
                  "endTime": 1562158360000
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListAddress"
                },
                "example": {
                  "addressList": [
                    {
                      "product": "CO27409",
                      "addressType": "delivery",
                      "id": 3,
                      "careOfAddress": "",
                      "streetAddress": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "suite": "",
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "period": {
                        "startTime": 1559393560000,
                        "endTime": 1562158360000
                      }
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/address/{queryType}": {
      "get": {
        "summary": "List addresses",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI is used to get info on the current address and existing changes.",
        "tags": [
          "Address"
        ],
        "parameters": [
          {
            "name": "queryType",
            "in": "path",
            "description": "* **currentAddress**: Get the current home(/delivery) address  \n* **historicalAddress**: Get historical address items  \n* **futureAddressChange**: Get future address changes  \n* **all**: Get all address items",
            "required": true,
            "example": "",
            "schema": {
              "enum": [
                "currentAddress",
                "historicalAddress",
                "futureAddressChange",
                "all"
              ],
              "type": "string"
            }
          },
          {
            "name": "numberOfLines",
            "in": "query",
            "description": "Number of lines returned in response",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListAddress"
                },
                "example": {
                  "addressList": [
                    {
                      "product": "CO27409",
                      "addressType": "delivery",
                      "id": 3,
                      "streetAddress": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "period": {
                        "startTime": 1559393560000,
                        "endTime": 1562158360000
                      }
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/address/{queryType}/{customernumber}": {
      "get": {
        "summary": "List addresses - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAddress API for current and future temporary or permanent address changes. API is also used to get info on the current address/delivery address and existing changes.",
        "tags": [
          "Address"
        ],
        "parameters": [
          {
            "name": "queryType",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customernumber",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "numberOfLines",
            "in": "query",
            "description": "Number of lines returned in response",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListAddress"
                },
                "example": {
                  "addressList": [
                    {
                      "product": "CO27409",
                      "addressType": "Delivery",
                      "id": 243,
                      "streetAddress": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "postalCode": "0510",
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "countryCode": "NO",
                      "period": {
                        "startTime": 1561035160000,
                        "endTime": 1566305560000
                      }
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/address/{queryType}/{customernumber}/{product}": {
      "get": {
        "summary": "List addresses for product - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAddress API for current and future temporary or permanent address changes. API is also used to get info on the current address/delivery address and existing changes.",
        "tags": [
          "Address"
        ],
        "parameters": [
          {
            "name": "queryType",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customernumber",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "numberOfLines",
            "in": "query",
            "description": "Number of lines returned in response",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListAddress"
                },
                "example": {
                  "addressList": [
                    {
                      "product": "CO27409",
                      "addressType": "Delivery",
                      "id": 243,
                      "streetAddress": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "postalCode": "0510",
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "countryCode": "NO",
                      "period": {
                        "startTime": 1561035160000,
                        "endTime": 1566305560000
                      }
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/address/{queryType}/{product}": {
      "get": {
        "summary": "List addresses for product",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI is used to get info on the current address and existing changes.",
        "tags": [
          "Address"
        ],
        "parameters": [
          {
            "name": "product",
            "in": "path",
            "description": "The product code\n\n\nThis element is an parameter that limits the response to a specific product.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "queryType",
            "in": "path",
            "description": "* **currentAddress**: Get the current home(/delivery) address  \n* **historicalAddress**: Get historical address items  \n* **futureAddressChange**: Get future address changes  \n* **all**: Get all address items",
            "required": true,
            "example": "",
            "schema": {
              "enum": [
                "currentAddress",
                "historicalAddress",
                "futureAddressChange",
                "all"
              ],
              "type": "string"
            }
          },
          {
            "name": "numberOfLines",
            "in": "query",
            "description": "Number of lines returned in response",
            "required": false,
            "schema": {
              "default": 20,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListAddress"
                },
                "example": {
                  "addressList": [
                    {
                      "product": "CO27409",
                      "addressType": "delivery",
                      "id": 3,
                      "streetAddress": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "period": {
                        "startTime": 1559393560000,
                        "endTime": 1562158360000
                      }
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/addressCategory/categoryTypes": {
      "get": {
        "summary": "List category types",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nCategory API for looking up valid categories that can be used on an order.",
        "tags": [
          "Category"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCategoryTypes-response"
                },
                "example": {
                  "categoryTypeList": [
                    {
                      "categoryType": "Job",
                      "description": "A paid position of regular employment.",
                      "hasPriority": "Y",
                      "maxCodes": 7,
                      "useFreeValue": "text"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/addressCategory/categoryCodes": {
      "get": {
        "summary": "List category codes",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n",
        "tags": [
          "Category"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCategoryCodes-response"
                },
                "example": {
                  "categoryCodeList": [
                    {
                      "categoryType": "Job",
                      "categoryCode": "Software Engineer",
                      "description": "Coding expert"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/addressCategory/categoryCodes/{categoryType}": {
      "get": {
        "summary": "List category codes for category type",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nCategoryType is an optional parameter that limits the response to a specific category type.",
        "tags": [
          "Category"
        ],
        "parameters": [
          {
            "name": "categoryType",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCategoryCodes-response"
                },
                "example": {
                  "categoryCodeList": [
                    {
                      "categoryType": "Job",
                      "categoryCode": "Software Engineer",
                      "description": "Coding expert"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/info": {
      "get": {
        "summary": "List customer info",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nCustomer API for customer details.",
        "operationId": "customerInfo",
        "tags": [
          "Customer"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListCustomerInfo"
                },
                "example": {
                  "customerNumber": 563457,
                  "name": {
                    "firstName": "Ola",
                    "middleName": "Solstrand",
                    "lastName": "Nordmann",
                    "companyName": "Company International Ltd",
                    "departmentName": "Support"
                  },
                  "phoneNumbers": [
                    {
                      "phoneNumber": "+4712345678",
                      "phoneNumberType": "personal"
                    },
                    {
                      "phoneNumber": "+4723339100",
                      "phoneNumberType": "company"
                    }
                  ],
                  "emails": [
                    "ola.nordmann@hotmail.no",
                    "ola.nordmann@company.com"
                  ],
                  "invoiceEmailAddress": "ola.nordmann@hotmail.no",
                  "attachedUsers": {
                    "uniqueId": "abc123ee63461dd",
                    "credentials": [
                      {
                        "credential": "ola.nordmann@hotmail.no",
                        "credentialType": "A_EMAIL_ADDRESS",
                        "verificationLevel": "Externally_verified"
                      },
                      {
                        "credential": "+4790123456",
                        "credentialType": "B_SMS_PHONE",
                        "verificationLevel": "Not verified"
                      }
                    ]
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Change customer Info",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API updates customer data and will replace the existing customerdata for every field in the request. This means fields that are not specified are defined as null in the request. Name in Connect required minimum `lastName` or `companyName`. If request is null or empty, then `lastName` will be set to “-”. In this API we may set an email  address that shall be used for sending email invoice.",
        "tags": [
          "Customer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeCustomerInfo-request"
              },
              "example": {
                "name": {
                  "firstName": "Ola",
                  "middleName": "Solstrand",
                  "lastName": "Nordmann",
                  "companyName": "Company International Ltd",
                  "departmentName": "Support"
                },
                "phoneNumbers": [
                  {
                    "phoneNumber": "+4712345678",
                    "phoneNumberType": "personal"
                  },
                  {
                    "phoneNumber": "+4723339100",
                    "phoneNumberType": "company"
                  }
                ],
                "emails": [
                  "ola.nordmann@hotmail.no",
                  "ola.nordmann@company.com"
                ],
                "invoiceEmailAddress": "ola.nordmann@hotmail.no"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Success-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/search": {
      "post": {
        "summary": "Search customer - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API allows to retrieve information about one or more customers.\n\nSearch results may be one or more customers, depending on the arguments used and what is actually present in the database.\n\nIn combination with customer number and name, you can also fill in the product. This will \"shrink\" search result.\n\n\n**Requirements for fields**:\n\nSearching by name or address require following fields to be set in request:\n\n* `companyName` or `lastName`\n* `streetAddress`\n* `postalCode` or `postalPlace`\n\nOtherwise one of following fields to be set in request:\n\n* `phoneNumber`  \n* `email`\n\n\n**Response**\n\nThe response is a list of customers found. The list is empty if no customer is found.\n\nNumber of customers in response are limited to 5 customers.",
        "tags": [
          "Customer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchCustomerClientMode-request"
              },
              "example": {
                "productCode": "CO27409",
                "companyName": "Company International Ltd",
                "departmentName": "Support",
                "firstName": "Ola",
                "middleName": "Fjordstrand",
                "lastName": "Nordmann",
                "careOfAddress": "",
                "streetAddress": "Grubbegata",
                "streetNumber": 6,
                "entrance": "A",
                "postalCode": 179,
                "postalPlace": "Oslo",
                "countryCode": "NO",
                "phoneNumber": "+4712345678",
                "email": "ola.nordmann@company.com"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchCustomerClientMode-response"
                },
                "example": {
                  "customers": [
                    {
                      "customerNumber": 563457,
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "streetAddress": "Grubbegata",
                      "streetNumber": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "emails": {
                        "email": [
                          "ola.nordmann@company.com",
                          "ola.nordmann@hotmail.no"
                        ]
                      },
                      "phoneNumbers": [
                        {
                          "phoneNumber": "+4712345678",
                          "isMobile": true
                        },
                        {
                          "phoneNumber": "+4723339100",
                          "isMobile": false
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "403": {
            "description": "Forbidden - Number of customers in response are limited to 5 customers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error403"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Try to narrow down your search with more information."
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error\r\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/credential/customers/check": {
      "post": {
        "summary": "Check customer number - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API will return a list with customers from input with credentials.",
        "tags": [
          "Customer"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckCustomerNumberClientMode-request"
              },
              "example": {
                "credentials": [
                  "+4787654321",
                  "kari.nordmann@gmail.com"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckCustomerNumberClientMode-response"
                },
                "example": {
                  "customers": [
                    {
                      "credential": "+4787654321",
                      "customerNumber": 327492
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/info/{customerNumber}": {
      "get": {
        "summary": "List customer info - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n",
        "tags": [
          "Customer"
        ],
        "parameters": [
          {
            "name": "customerNumber",
            "in": "path",
            "description": "Customer number",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListCustomerInfo"
                },
                "example": {
                  "customerNumber": 563457,
                  "name": {
                    "firstName": "Ola",
                    "middleName": "Fjordstrand",
                    "lastName": "Nordmann",
                    "companyName": "Company International Ltd",
                    "departmentName": "Support"
                  },
                  "phoneNumbers": [
                    {
                      "phoneNumber": "+4712345678",
                      "phoneNumberType": "personal"
                    },
                    {
                      "phoneNumber": "+4723339100",
                      "phoneNumberType": "company"
                    }
                  ],
                  "emails": [
                    "ola.nordmann@hotmail.no",
                    "ola.nordmann@company.com"
                  ],
                  "invoiceEmailAddress": "ola.nordmann@hotmail.no",
                  "attachedUsers": {
                    "uniqueId": "abc123ee63461dd",
                    "credentials": [
                      {
                        "credential": "ola.nordmann@hotmail.no",
                        "credentialType": "A_EMAIL_ADDRESS",
                        "verificationLevel": "Externally_verified"
                      },
                      {
                        "credential": "+4790123456",
                        "credentialType": "B_SMS_PHONE",
                        "verificationLevel": "Not verified"
                      }
                    ]
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/{customerNumber}/external-reference/{referenceCode}": {
      "delete": {
        "summary": "Remove external reference - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n",
        "tags": [
          "External Reference"
        ],
        "parameters": [
          {
            "name": "customerNumber",
            "in": "path",
            "description": "Customer number",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "referenceCode",
            "in": "path",
            "description": "Reference code",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteExternalReferenceClientMode-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      },
      "patch": {
        "summary": "Change external reference - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n",
        "tags": [
          "External Reference"
        ],
        "parameters": [
          {
            "name": "customerNumber",
            "in": "path",
            "description": "Customer number",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "referenceCode",
            "in": "path",
            "description": "Reference code",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeExternalReferenceClientMode-request"
              },
              "example": {
                "externalId": "1"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeExternalReferenceClientMode-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "500 Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/{customerNumber}/external-reference": {
      "get": {
        "summary": "List external references - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nUse this API to list all availble external references for selected customer.",
        "tags": [
          "External Reference"
        ],
        "parameters": [
          {
            "name": "customerNumber",
            "in": "path",
            "description": "Customer number",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListExternalReferencesClientMode-response"
                },
                "example": {
                  "externalReferences": [
                    {
                      "referenceCode": "TOTT",
                      "externalId": "1"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Register external reference - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nUsed to register external reference for selected customer.",
        "tags": [
          "External Reference"
        ],
        "parameters": [
          {
            "name": "customerNumber",
            "in": "path",
            "description": "Customer number",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterExternalReferenceClientMode-request"
              },
              "example": {
                "referenceCode": "TOTT",
                "externalId": "1               "
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterExternalReferenceClientMode-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/article/price/check": {
      "post": {
        "summary": "Check article price",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API returns the price for an given article.",
        "tags": [
          "Article"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckArticlePrice-request"
              },
              "example": {
                "category": "CO3759",
                "companyCode": "23467892",
                "product": "CO27409"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckArticlePrice-response"
                },
                "example": {
                  "articlePriceResponse": [
                    {
                      "categoryCode": "CO3759",
                      "price": 39.9
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/coupon/price": {
      "post": {
        "summary": "Check coupon price - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API returns the price that is registered on a Coupon. It also returns the distribution cost ets. if parameters for country code and postal code are set.",
        "tags": [
          "Coupon"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckCouponPriceClientMode-request"
              },
              "example": {
                "couponCode": "TOTT",
                "couponNumber": 60,
                "customerNumber": 10,
                "countryCode": "NO",
                "postalCode": "1273"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckCouponPriceClientMode-response"
                },
                "example": {
                  "companyCode": "FTOTT",
                  "product": "TOTT",
                  "price": 100,
                  "vatAmount": 25,
                  "vatpercent": 25,
                  "vatInclude": false,
                  "currency": "NOK",
                  "distAmount": 0,
                  "distAmountvat": 0,
                  "customerNumber": 10
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/coupon/{productCode}": {
      "get": {
        "summary": "List coupon - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API returns all coupons for a subscription product. You may also use this API to check the price at the next renewal.",
        "tags": [
          "Coupon"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "marketing",
            "in": "query",
            "description": "Informs if marketing data should be return in the response:\n* **true**: Marketing data should be included in the response.\n* **false**: Marketing data should not be included in the response.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCouponClientMode-response"
                },
                "example": {
                  "coupons": [
                    {
                      "couponCode": "DataNews",
                      "couponNumber": 27,
                      "startTime": 1529405788000,
                      "endTime": 1534676188000,
                      "description": "Students only",
                      "couponPrice": "299",
                      "periodLength": "1",
                      "periodType": "months",
                      "extraProducts": [
                        {
                          "productId": "29542",
                          "description": "Newspaper about ICT"
                        }
                      ],
                      "renewal": {
                        "renewalPrice": "199",
                        "periodLength": "1",
                        "periodType": "months"
                      },
                      "marketing": {
                        "project": "Kundeservice",
                        "market": "ICT",
                        "activity": "SNU",
                        "salesMethod": "TM"
                      }
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/coupon/{productCode}/{couponNumber}": {
      "get": {
        "summary": "List coupon for coupon number - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API returns all coupons for a subscription product. You may also use this API to check the price at the next renewal.",
        "tags": [
          "Coupon"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "couponNumber",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCouponClientMode-response"
                },
                "example": {
                  "coupons": [
                    {
                      "couponCode": "DataNews",
                      "couponNumber": 27,
                      "startTime": 1529405788000,
                      "endTime": 1534676188000,
                      "description": "Students only",
                      "couponPrice": "299",
                      "periodLength": "1",
                      "periodType": "months",
                      "extraProducts": [
                        {
                          "productId": "29542",
                          "description": "Newspaper about ICT"
                        }
                      ],
                      "renewal": [
                        {
                          "renewalPrice": "199",
                          "periodLength": "1",
                          "periodType": "months"
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/order/fulfillment": {
      "post": {
        "summary": "Complete order - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThe API is used only to fulfill a previously registered order with `orderId`. Currently this API is possible to use on orders with mobile payment or for prepaid  orders. You can only use this API to fulfill the order if `paymentMethod` on the order is sms, invoice, free, kco (Klarna), creditcardPayex or other (own integration with payment provider).\n\nThis API previously exposed functionality to create and link a ConnectID user to the order, and possibly send a sms/email notification. This functionality is removed from this API. To use these features, you need to use the new API named [Assign user](assign-user-client-mode-15815774e0).",
        "operationId": "completeorder",
        "tags": [
          "Fulfillment"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompleteOrderClientMode-request"
              },
              "example": {
                "orderId": 14
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompleteOrderClientMode-response"
                },
                "example": {
                  "fulfillmentStatus": "ERROR",
                  "orderId": 14,
                  "errorMessage": "Descriptiv error message"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/order/status": {
      "get": {
        "summary": "List orders",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API to get a list of orders with basic status.",
        "tags": [
          "Order"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListOrderStatus"
                },
                "example": {
                  "orders": [
                    {
                      "orderId": 9,
                      "externalOrderId": "2342",
                      "orderTime": 1559372400000,
                      "orderStatus": "preliminary",
                      "orderAmount": 295,
                      "customerNumber": 563457
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Search order details",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI to get detailed information for a given `orderId` or orders with the same `externalOrderId`. Note that only one value may be present in the request.",
        "tags": [
          "Order"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchOrderdetails-request"
              },
              "example": {
                "orderId": 9,
                "externalOrderId": "2342"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchOrderdetails-response"
                },
                "example": {
                  "orders": [
                    {
                      "orderId": 9,
                      "externalOrderId": "2342",
                      "orderTime": 1559372400000,
                      "orderStatus": "preliminary",
                      "orderAmount": 295,
                      "orderLines": [
                        {
                          "productId": "CO27409",
                          "description": "",
                          "invoiceNumber": 7435367,
                          "invoiceTime": 1560290400,
                          "invoiceLineAmount": 295,
                          "invoiceStatus": "notInvoiced",
                          "deliveryStatus": "waiting"
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/order/product/history": {
      "get": {
        "summary": "List order product history",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API to get a list of purchase history on order product (enkeltordre)\n",
        "tags": [
          "Order"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListOrderProductHistory-response"
                },
                "example": {
                  "orders": [
                    {
                      "customerNumber": 371,
                      "orderNumber": 44,
                      "orderDate": 1197500400000,
                      "description": "Hjemmedrakt 07/08 S",
                      "amount": 500,
                      "vat": 100,
                      "invoiceNumber": 7231,
                      "invoiceDate": 1198018800000,
                      "companyCode": "FTOTT",
                      "invoiceStatus": "invoiced",
                      "target": "C",
                      "invoiceHotelUrl": "https://invoice.mediaconnect.no/view/c3743c8162bf474291c6a7cbb5af80e6"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/order/status/{orderId}": {
      "get": {
        "summary": "List order status - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](#section/About-the-Client-Mode) to read more.\n\nUse this API to get basic status regarding an order.",
        "tags": [
          "Order"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListOrderStatus"
                },
                "example": {
                  "orders": [
                    {
                      "orderId": 9,
                      "externalOrderId": "2342",
                      "orderTime": 1559372400000,
                      "orderStatus": "preliminary",
                      "orderAmount": 295,
                      "customerNumber": 563457
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer": {
      "post": {
        "summary": "Register customer - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAPI for creating a customer.\n\n\n**Commonly required fields:**\n\n* `companyName` or `lastName`\n* `postalCode`\n* `emails` or `phoneNumbers`\n",
        "operationId": "customerclient",
        "tags": [
          "Order"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-RegisterCustomer-request"
              },
              "example": {
                "companyRegistrationNumber": "5646903690",
                "companyName": "Company International Ltd",
                "departmentName": "Support",
                "firstName": "Ola",
                "middleName": "Fjordstrand",
                "lastName": "Nordmann",
                "careOfAddress": "Nedre Vollsgate XII",
                "street": "Grubbegata",
                "streetNumber": 6,
                "entrance": "A",
                "floorType": "H",
                "floor": 6,
                "postalCode": 179,
                "postalPlace": "Oslo",
                "postalAddress": "Postboks 265 Økern",
                "postalAddressPostalCode": "0510",
                "postalAddressPostalPlace": "Oslo",
                "countryCode": "NO",
                "emails": [
                  "ola.nordmann@company.com"
                ],
                "phoneNumbers": [
                  "+4712345678",
                  "+4723339100"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-RegisterOrder-response"
                },
                "example": {
                  "orderId": 9
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer": {
      "post": {
        "summary": "Register customer",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI for creating a customer.\n\n\n**Commonly required fields:**\n\n* `companyName` or `lastName`\n* `postalCode`\n* `emails` or `phoneNumbers`\n",
        "operationId": "customer",
        "tags": [
          "Order"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-RegisterCustomer-request"
              },
              "example": {
                "companyRegistrationNumber": "5646903690",
                "companyName": "Company International Ltd",
                "departmentName": "Support",
                "firstName": "Ola",
                "middleName": "Fjordstrand",
                "lastName": "Nordmann",
                "careOfAddress": "Nedre Vollsgate XII",
                "street": "Grubbegata",
                "streetNumber": 6,
                "entrance": "A",
                "floorType": "H",
                "floor": 6,
                "postalCode": 179,
                "postalPlace": "Oslo",
                "postalAddress": "Postboks 265 Økern",
                "postalAddressPostalCode": "0510",
                "postalAddressPostalPlace": "Oslo",
                "countryCode": "NO",
                "emails": [
                  "ola.nordmann@company.com"
                ],
                "phoneNumbers": [
                  "+4712345678",
                  "+4723339100"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-RegisterOrder-response"
                },
                "example": {
                  "orderId": 9
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/order": {
      "post": {
        "summary": "Register order - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAPI for creating an order. The order can contain one or more lines. Each line may contain a receiver. If Marketing coupon is used both marketing coupon, i.e `marketingCouponCode` and `marketingCouponNumber`, fields are required.\n\nThere are several possible payment methods. Payment provider configuration is needed to use these payment methods, excluding free and invoice. In order to set up this configuration, please contact Unite by sending an email to support@mediaconnect.no. Some of the payment providers support recurring payment and prepayment, see the table below.\n\n<table>\n  <tr>\n    <th>paymentMethod</th>\n    <th> recurring=true</th>\n    <th>recurring=false</th>\n    <th>prepaid=true</th>\n    <th>prepaid=false</th>\n  </tr>\n  <tr>\n    <td>invoice</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td></td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>sms (Link Mobility)</td>\n    <td>&#x2714;</td>\n    <td></td>\n    <td></td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>smsPay</td>\n    <td></td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td></td>\n  </tr>\n  <tr>\n    <td>vippsRecurring <br/>(Faste betalinger med Vipps)</td>\n    <td>&#x2714;</td>\n    <td></td>\n    <td></td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>kco (Klarna)</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>creditcardPayex</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>swishPayex</td>\n    <td></td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n  </tr>\n    <tr>\n    <td>vippsEcommerce <br> (single payment)</td>\n    <td></td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n  </tr>\n<tr>\n   <td>nexi</td>\n    <td>&#x2714</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714</td>\n  </tr>\n<<tr>\n   <td>other</td>\n    <td></td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td></td>\n  </tr>\n</table>\n\n**Commonly required fields:**\n\n* `companyName` or `lastName`\n* `postalCode`\n* `emails` or `phoneNumbers`\n\nAfter placing an order to the client order API, the order needs to be fulfilled. This can be done either with a redirect or using an API call.\nThe specific use-case dictates whether how the fulfillment process can be performed. If the fulfillment includes an interactive payment process (e.g. card payment), the redirect must be used. If the order is prepaid, or does not involve the user for payment (e.g. invoice), the API for fulfillment may be used.\n\nFor the redirect case, the user must be redirected to the URL for fulfillment (https://connectid.no/user/fulfillment or https://connectid.se/user/fulfillment). Depending on the payment method on the order the user will be further redirected to an external payment service.\nRead more about [fulfillment URL](https://mediaconnect-api.redoc.ly/#section/About-the-URLs/URL:-fulfillment).\n\nThe API endpoint for fulfillment is described [here](Fulfillment#operation/completeorder).\n",
        "operationId": "orderclient",
        "tags": [
          "Order"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-RegisterOrder-request"
              },
              "examples": {
                "1": {
                  "value": {
                    "externalOrderId": "23456",
                    "orderDate": 1547078400000,
                    "paymentMethod": "creditcardPayex",
                    "orderAmount": 150,
                    "currency": "NOK",
                    "marketingCouponCode": "NOA3263",
                    "marketingCouponNumber": 51,
                    "campaignParameters": "?param=Datanews&param2=Dataold",
                    "companyCode": "468979834",
                    "seller": "AY",
                    "salesMethod": "ST",
                    "payer": {
                      "customerNumber": 71,
                      "personsSocialSecurityNumber": "890102-3286",
                      "firstName": "Kari",
                      "middleName": "Snøhaug",
                      "lastName": "Nordmann",
                      "street": "Osloveien",
                      "streetNumber": 12,
                      "floorType": "H",
                      "floor": 3,
                      "postalCode": "0101",
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 6",
                      "postalAddressPostalCode": "0216",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 694224000000,
                      "sex": "female",
                      "emails": [
                        "kari.nordmann@gmail.com"
                      ],
                      "phoneNumbers": [
                        "+4787654321"
                      ],
                      "invoiceEmailAddress": "kari@company.com"
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "VS283",
                        "productSpecNo": 1673,
                        "quantity": 1,
                        "unitPrice": 150,
                        "voucherCode": "582358",
                        "allowAccessProduct": "29452",
                        "allowAccessCategoryType": "TYPE1",
                        "allowAccessSeconds": 259200,
                        "startInfo": {
                          "startDate": 1547078400000,
                          "startIssue": "2019-10"
                        }
                      }
                    ],
                    "recurring": true,
                    "paymentInfoPayEx": {
                      "transactionId": "472",
                      "merchantId": "54823419",
                      "recurrenceToken": "7b9nwomhbok",
                      "cardDetails": {
                        "cardMaskedPan": "****-******-8271",
                        "expMonth": "10",
                        "expYear": "24",
                        "issuingBank": "Mastercard",
                        "cardBrand": "Mastercard",
                        "isPanEnrolled": true
                      }
                    }
                  },
                  "summary": "Self-pay customer",
                  "description": "A self-pay customer is a customer who are payer and receiver. Only payer is required and receiver is not relevant here. "
                },
                "2": {
                  "value": {
                    "externalOrderId": "2342",
                    "orderDate": 1547078400000,
                    "paymentMethod": "kco",
                    "orderAmount": 295,
                    "currency": "NOK",
                    "marketingCouponCode": "CN3759",
                    "marketingCouponNumber": 2,
                    "companyCode": "468979834",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floorType": "H",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "sex": "unknown",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        "+4712345678",
                        "+4723339100"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34572",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": true,
                    "prepaid": true,
                    "paymentInfoKCO": {
                      "recurringToken": "ayh2a8cd7-a672-4bd1-b1ee-0188238394bc",
                      "klarnaReference": "29ACD8HA",
                      "klarnaOrderId": "77a9aef5-9v88-094b-9de0-f1d83c1ec3f5",
                      "merchantId": "PK07982_de8cdb673d55",
                      "cardNumberMasked": "**********3849",
                      "cardExpiryDate": "06/2021",
                      "cardBrand": "VISA"
                    }
                  },
                  "summary": "Business customer",
                  "description": "An example of business customer."
                },
                "3": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "invoice",
                    "orderAmount": 199,
                    "currency": "NOK",
                    "payer": {
                      "customerNumber": 26,
                      "firstName": "Finn",
                      "lastName": "Nordmann",
                      "street": "Brugata",
                      "streetNumber": 66,
                      "floorType": "H",
                      "floor": 4,
                      "postalCode": 385,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 7",
                      "postalAddressPostalCode": 385,
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 694224000000,
                      "sex": "male",
                      "emails": [
                        "finn@mediaconnect.no"
                      ],
                      "phoneNumbers": [
                        "+4712345678",
                        "+4714567899"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "VJ4824",
                        "productSpecNo": 63,
                        "quantity": 1,
                        "unitPrice": 199,
                        "voucherCode": "57392",
                        "allowAccessProduct": "DV373592",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 2542300,
                        "startInfo": {
                          "startDate": 1568109600,
                          "startIssue": "2019-10"
                        },
                        "rewardPartnerId": 7642,
                        "rewardId": "63",
                        "receiver": {
                          "customerNumber": 84,
                          "firstName": "Else",
                          "lastName": "Nordmann",
                          "street": "Bergensgata",
                          "streetNumber": 2,
                          "floorType": "H",
                          "floor": 2,
                          "postalCode": "5026",
                          "postalPlace": "Bergen",
                          "postalAddress": "Bergensgata 5",
                          "postalAddressPostalCode": "5026",
                          "postalAddressPostalPlace": "Bergen",
                          "countryCode": "NO",
                          "birthDate": 676591200,
                          "sex": "female",
                          "emails": [
                            "else.nordmann@email.com"
                          ],
                          "phoneNumbers": [
                            "+4732165498"
                          ]
                        }
                      }
                    ]
                  },
                  "summary": "Gift",
                  "description": "The payer and receiver are two different persons. The payer and receiver are required here."
                },
                "4": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "invoice",
                    "orderAmount": 698,
                    "currency": "NOK",
                    "payer": {
                      "customerNumber": 19,
                      "firstName": "Bjørn",
                      "lastName": "Nordmann",
                      "street": "Trondheimsvegen",
                      "streetNumber": 24,
                      "floorType": "H",
                      "floor": 1,
                      "postalCode": "7023",
                      "postalPlace": "Trondheim",
                      "postalAddress": "Postboks 7",
                      "postalAddressPostalCode": 385,
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 163119600,
                      "sex": "female",
                      "emails": [
                        "bjorn.nordmann@email.no"
                      ],
                      "phoneNumbers": [
                        "+4777777777"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "issue",
                        "productSpecCode": "KSDAT",
                        "productSpecNo": 523,
                        "product": "KAT",
                        "quantity": 2,
                        "unitPrice": 349,
                        "allowAccessProduct": "DV373592",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 2542300,
                        "rewardPartnerId": 7642,
                        "rewardId": "63"
                      }
                    ]
                  },
                  "summary": "Invoice"
                },
                "5": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "vippsRecurring",
                    "orderAmount": 130,
                    "currency": "NOK",
                    "companyCode": "461182373",
                    "seller": "SB",
                    "payer": {
                      "customerNumber": 11,
                      "firstName": "Ola",
                      "lastName": "Nordmann",
                      "street": "Drammensveien",
                      "streetNumber": 11,
                      "postalCode": "0202",
                      "postalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 438649200,
                      "sex": "male",
                      "emails": [
                        "ola.nordmann@gmail.com"
                      ],
                      "phoneNumbers": [
                        "+4787654321"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "KB937",
                        "productSpecNo": 1349,
                        "quantity": 1,
                        "unitPrice": 130,
                        "allowAccessProduct": "48229",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "startInfo": {
                          "startDate": 1542744400
                        }
                      }
                    ],
                    "recurring": true,
                    "prepaid": false
                  },
                  "summary": "Vipps recurring payment",
                  "description": "An example of recurring payment via Faste betalinger med Vipps. The order is not prepaid."
                },
                "6": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "kco",
                    "orderAmount": 295,
                    "currency": "NOK",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floorType": "H",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        "+4712345678",
                        "+4723339100"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34572",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": true,
                    "prepaid": true,
                    "paymentInfoKCO": {
                      "recurringToken": "ayh2a8cd7-a672-4bd1-b1ee-0188238394bc",
                      "klarnaReference": "29ACD8HA",
                      "klarnaOrderId": "77a9aef5-9v88-094b-9de0-f1d83c1ec3f5",
                      "merchantId": "PK07982_de8cdb673d55",
                      "cardNumberMasked": "**********3849",
                      "cardExpiryDate": "06/2021",
                      "cardBrand": "VISA"
                    }
                  },
                  "summary": "Klarna recurring payment",
                  "description": "An example of recurring payment via Klarna. The order is prepaid."
                },
                "7": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "creditcardPayex",
                    "orderAmount": 150,
                    "currency": "NOK",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floorType": "H",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        4712345678,
                        4723339100
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34577",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": true,
                    "prepaid": true,
                    "paymentInfoPayEx": {
                      "transactionId": "472",
                      "merchantId": "54823419",
                      "recurrenceToken": "7b9nwomhbok",
                      "cardDetails": {
                        "cardMaskedPan": "****-******-8271",
                        "expMonth": "10",
                        "expYear": "24",
                        "issuingBank": "Mastercard",
                        "cardBrand": "Mastercard",
                        "isPanEnrolled": true
                      }
                    }
                  },
                  "summary": "PayEx recurring payment",
                  "description": "An example of recurring payment via PayEx. The order is prepaid."
                },
                "8": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "nexi",
                    "orderAmount": 150,
                    "currency": "NOK",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floorType": "H",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        4712345678,
                        4723339100
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34577",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": true,
                    "prepaid": true,
                    "paymentInfoNexi": {
                      "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7",
                      "merchantId": "54823419",
                      "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
                      "chargeId": "aec0aceb-a4db-49fb-b366-75e90229c640",
                      "orderReference": "472",
                      "paymentDetails": {
                        "cardDetails": {
                          "cardMaskedPan": "426827******4847",
                          "expMonth": "12",
                          "expYear": "29"
                        },
                        "paymentType": "CARD",
                        "paymentMethod": "Visa"
                      }
                    }
                  },
                  "summary": "Nexi recurring payment",
                  "description": "An example of recurring payment via Nexi. The order is prepaid."
                },
                "9": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "other",
                    "orderAmount": 150,
                    "currency": "NOK",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floorType": "H",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        "+4712345678",
                        "+4723339100"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34577",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": false,
                    "prepaid": true,
                    "paymentInfoOther": {
                      "transactionId": "472",
                      "merchantId": "54823419",
                      "description": "Own integration with Klarna"
                    }
                  },
                  "summary": "Other payment",
                  "description": "An example of payment based on own integration with payment provider. The order is prepaid."
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-RegisterOrder-response"
                },
                "example": {
                  "orderId": 9
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/order": {
      "post": {
        "summary": "Register order",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI for creating an order. The order can contain one or more lines. Each line may contain a receiver. If Marketing coupon is used both marketing coupon, i.e `marketingCouponCode` and `marketingCouponNumber`, fields are required. \n\nThere are several possible payment methods. Payment provider configuration is needed to use these payment methods, excluding free and invoice. In order to set up this configuration, please contact Unite by sending an email to support@mediaconnect.no Some of the payment providers support recurring payment and prepayment, see the table below.\n\n<table>\n  <tr>\n    <th>paymentMethod</th>\n    <th> recurring=true</th>\n    <th>recurring=false</th>\n    <th>prepaid=true</th>\n    <th>prepaid=false</th>\n  </tr>\n  <tr>\n    <td>invoice</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td></td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>sms (Link Mobility)</td>\n    <td>&#x2714;</td>\n    <td></td>\n    <td></td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>smsPay</td>\n    <td></td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td></td>\n  </tr>\n  <tr>\n    <td>vippsRecurring <br/>(Faste betalinger med Vipps)</td>\n    <td>&#x2714;</td>\n    <td></td>\n    <td></td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>kco (Klarna)</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>creditcardPayex</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n  </tr>\n  <tr>\n    <td>swishPayex</td>\n    <td></td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n  </tr>\n    <tr>\n    <td>vippsEcommerce <br> (single payment)</td>\n    <td></td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n  </tr>\n<tr>\n   <td>nexi</td>\n    <td>&#x2714</td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td>&#x2714</td>\n  </tr>\n<<tr>\n   <td>other</td>\n    <td></td>\n    <td>&#x2714;</td>\n    <td>&#x2714;</td>\n    <td></td>\n  </tr>\n</table>\n\n**Commonly required fields:**\n\n* `companyName` or `lastName`\n* `postalCode`\n* `emails` or `phoneNumbers`\n\nAfter placing an order to the client order API, the order needs to be fulfilled. This can be done either with a redirect or using an API call.\nThe specific use-case dictates whether how the fulfillment process can be performed. If the fulfillment includes an interactive payment process (e.g. card payment), the redirect must be used. If the order is prepaid, or does not involve the user for payment (e.g. invoice), the API for fulfillment may be used.\n\nFor the redirect case, the user must be redirected to the URL for fulfillment (https://connectid.no/user/fulfillment or https://connectid.se/user/fulfillment). Depending on the payment method on the order the user will be further redirected to an external payment service.\nRead more about [fulfillment URL](https://mediaconnect-api.redoc.ly/#section/About-the-URLs/URL:-fulfillment).\n\nThe API endpoint for fulfillment is described [here](Fulfillment#operation/completeorder).",
        "operationId": "order",
        "tags": [
          "Order"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-RegisterOrder-request"
              },
              "examples": {
                "1": {
                  "value": {
                    "externalOrderId": "23456",
                    "orderDate": 1547078400000,
                    "paymentMethod": "creditcardPayex",
                    "orderAmount": 150,
                    "currency": "NOK",
                    "marketingCouponCode": "NOA3263",
                    "marketingCouponNumber": 51,
                    "campaignParameters": "?param=Datanews&param2=Dataold",
                    "companyCode": "468979834",
                    "seller": "AY",
                    "salesMethod": "ST",
                    "payer": {
                      "customerNumber": 71,
                      "personsSocialSecurityNumber": "890102-3286",
                      "firstName": "Kari",
                      "middleName": "Snøhaug",
                      "lastName": "Nordmann",
                      "street": "Osloveien",
                      "streetNumber": 12,
                      "floorType": "H",
                      "floor": 3,
                      "postalCode": "0101",
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 6",
                      "postalAddressPostalCode": "0216",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 694224000000,
                      "sex": "female",
                      "emails": [
                        "kari.nordmann@gmail.com"
                      ],
                      "phoneNumbers": [
                        "+4787654321"
                      ],
                      "invoiceEmailAddress": "kari@company.com"
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "VS283",
                        "productSpecNo": 1673,
                        "quantity": 1,
                        "unitPrice": 150,
                        "voucherCode": "582358",
                        "allowAccessProduct": "29452",
                        "allowAccessCategoryType": "TYPE1",
                        "allowAccessSeconds": 259200,
                        "startInfo": {
                          "startDate": 1547078400000,
                          "startIssue": "2019-10"
                        }
                      }
                    ],
                    "recurring": true,
                    "paymentInfoPayEx": {
                      "transactionId": "472",
                      "merchantId": "54823419",
                      "recurrenceToken": "7b9nwomhbok",
                      "cardDetails": {
                        "cardMaskedPan": "****-******-8271",
                        "expMonth": "10",
                        "expYear": "24",
                        "issuingBank": "Mastercard",
                        "cardBrand": "Mastercard",
                        "isPanEnrolled": true
                      }
                    }
                  },
                  "summary": "Self-pay customer",
                  "description": "A self-pay customer is a customer who are payer and receiver. Only payer is required and receiver is not relevant here. "
                },
                "2": {
                  "value": {
                    "externalOrderId": "2342",
                    "orderDate": 1547078400000,
                    "paymentMethod": "kco",
                    "orderAmount": 295,
                    "currency": "NOK",
                    "marketingCouponCode": "CN3759",
                    "marketingCouponNumber": 2,
                    "companyCode": "468979834",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "sex": "unknown",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        "+4712345678",
                        "+4723339100"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34572",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": true,
                    "prepaid": true,
                    "paymentInfoKCO": {
                      "recurringToken": "ayh2a8cd7-a672-4bd1-b1ee-0188238394bc",
                      "klarnaReference": "29ACD8HA",
                      "klarnaOrderId": "77a9aef5-9v88-094b-9de0-f1d83c1ec3f5",
                      "merchantId": "PK07982_de8cdb673d55",
                      "cardNumberMasked": "**********3849",
                      "cardExpiryDate": "06/2024",
                      "cardBrand": "VISA"
                    }
                  },
                  "summary": "Business customer",
                  "description": "An example of business customer."
                },
                "3": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "invoice",
                    "orderAmount": 199,
                    "currency": "NOK",
                    "payer": {
                      "customerNumber": 26,
                      "firstName": "Finn",
                      "lastName": "Nordmann",
                      "street": "Brugata",
                      "streetNumber": 66,
                      "floor": 4,
                      "postalCode": 385,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 7",
                      "postalAddressPostalCode": 385,
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 694224000000,
                      "sex": "male",
                      "emails": [
                        "finn@mediaconnect.no"
                      ],
                      "phoneNumbers": [
                        "+4712345678",
                        "+4714567899"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "VJ4824",
                        "productSpecNo": 63,
                        "quantity": 1,
                        "unitPrice": 199,
                        "voucherCode": "57392",
                        "allowAccessProduct": "DV373592",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 2542300,
                        "startInfo": {
                          "startDate": 1547078400000
                        },
                        "rewardPartnerId": 7642,
                        "rewardId": "63",
                        "receiver": {
                          "customerNumber": 84,
                          "firstName": "Else",
                          "lastName": "Nordmann",
                          "street": "Bergensgata",
                          "streetNumber": 2,
                          "floor": 2,
                          "postalCode": "5026",
                          "postalPlace": "Bergen",
                          "postalAddress": "Bergensgata 5",
                          "postalAddressPostalCode": "5026",
                          "postalAddressPostalPlace": "Bergen",
                          "countryCode": "NO",
                          "birthDate": 694224000000,
                          "sex": "female",
                          "emails": [
                            "else.nordmann@email.com"
                          ],
                          "phoneNumbers": [
                            "+4732165498"
                          ]
                        }
                      }
                    ]
                  },
                  "summary": "Gift",
                  "description": "The payer and receiver are two different persons. The payer and receiver are required here."
                },
                "4": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "invoice",
                    "orderAmount": 698,
                    "currency": "NOK",
                    "payer": {
                      "customerNumber": 19,
                      "firstName": "Bjørn",
                      "lastName": "Nordmann",
                      "street": "Trondheimsvegen",
                      "streetNumber": 24,
                      "floor": 1,
                      "postalCode": "7023",
                      "postalPlace": "Trondheim",
                      "postalAddress": "Postboks 7",
                      "postalAddressPostalCode": 385,
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 694224000000,
                      "sex": "male",
                      "emails": [
                        "bjorn.nordmann@email.no"
                      ],
                      "phoneNumbers": [
                        "+4777777777"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "issue",
                        "productSpecCode": "KSDAT",
                        "productSpecNo": 523,
                        "product": "KAT",
                        "quantity": 2,
                        "unitPrice": 349,
                        "allowAccessProduct": "DV373592",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 2542300,
                        "rewardPartnerId": 7642,
                        "rewardId": "63"
                      }
                    ]
                  },
                  "summary": "Invoice"
                },
                "5": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "vippsRecurring",
                    "orderAmount": 130,
                    "currency": "NOK",
                    "companyCode": "461182373",
                    "seller": "SB",
                    "payer": {
                      "customerNumber": 11,
                      "firstName": "Ola",
                      "lastName": "Nordmann",
                      "street": "Drammensveien",
                      "streetNumber": 11,
                      "postalCode": "0202",
                      "postalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 694224000000,
                      "sex": "male",
                      "emails": [
                        "ola.nordmann@gmail.com"
                      ],
                      "phoneNumbers": [
                        "+4787654321"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "KB937",
                        "productSpecNo": 1349,
                        "quantity": 1,
                        "unitPrice": 130,
                        "allowAccessProduct": "48229",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "startInfo": {
                          "startDate": 1547078400000
                        }
                      }
                    ],
                    "recurring": true,
                    "prepaid": false
                  },
                  "summary": "Vipps recurring payment",
                  "description": "An example of recurring payment via Faste betalinger med Vipps. The order is not prepaid."
                },
                "6": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "kco",
                    "orderAmount": 295,
                    "currency": "NOK",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        "+4712345678",
                        "+4723339100"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34572",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": true,
                    "prepaid": true,
                    "paymentInfoKCO": {
                      "recurringToken": "ayh2a8cd7-a672-4bd1-b1ee-0188238394bc",
                      "klarnaReference": "29ACD8HA",
                      "klarnaOrderId": "77a9aef5-9v88-094b-9de0-f1d83c1ec3f5",
                      "merchantId": "PK07982_de8cdb673d55",
                      "cardNumberMasked": "**********3849",
                      "cardExpiryDate": "06/2021",
                      "cardBrand": "VISA"
                    }
                  },
                  "summary": "Klarna recurring payment",
                  "description": "An example of recurring payment via Klarna. The order is prepaid."
                },
                "7": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "creditcardPayex",
                    "orderAmount": 295,
                    "currency": "NOK",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        "+4712345678",
                        "+4723339100"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34572",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": true,
                    "prepaid": true,
                    "paymentInfoPayEx": {
                      "transactionId": "472",
                      "merchantId": "54823419",
                      "recurrenceToken": "7b9nwomhbok",
                      "cardDetails": {
                        "cardMaskedPan": "****-******-8271",
                        "expMonth": "10",
                        "expYear": "24",
                        "issuingBank": "Mastercard",
                        "cardBrand": "Mastercard",
                        "isPanEnrolled": true
                      }
                    }
                  },
                  "summary": "PayEx recurring payment",
                  "description": "An example of recurring payment via PayEx. The order is prepaid."
                },
                "8": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "nexi",
                    "orderAmount": 150,
                    "currency": "NOK",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floorType": "H",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        4712345678,
                        4723339100
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34577",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": true,
                    "prepaid": true,
                    "paymentInfoNexi": {
                      "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7",
                      "merchantId": "54823419",
                      "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
                      "chargeId": "aec0aceb-a4db-49fb-b366-75e90229c640",
                      "orderReference": "472",
                      "paymentDetails": {
                        "cardDetails": {
                          "cardMaskedPan": "426827******4847",
                          "expMonth": "12",
                          "expYear": "29"
                        },
                        "paymentType": "CARD",
                        "paymentMethod": "Visa"
                      }
                    }
                  },
                  "summary": "Nexi recurring payment",
                  "description": "An example of recurring payment via Nexi. The order is prepaid."
                },
                "9": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "other",
                    "orderAmount": 150,
                    "currency": "NOK",
                    "seller": "S05",
                    "customerReference": "234242",
                    "payer": {
                      "customerNumber": 563457,
                      "companyRegistrationNumber": "5646903690",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support",
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "careOfAddress": "Nedre Vollsgate XII",
                      "street": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "emails": [
                        "ola.nordmann@company.com"
                      ],
                      "phoneNumbers": [
                        "+4712345678",
                        "+4723339100"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "coupon",
                        "productSpecCode": "WMDigi",
                        "productSpecNo": 5223,
                        "product": "",
                        "quantity": 1,
                        "unitPrice": 295,
                        "voucherCode": "34577",
                        "allowAccessProduct": "CO27409",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 259200,
                        "rewardPartnerId": 3567,
                        "rewardId": "2"
                      }
                    ],
                    "recurring": false,
                    "prepaid": true,
                    "paymentInfoOther": {
                      "transactionId": "472",
                      "merchantId": "54823419",
                      "description": "Own integration with Klarna"
                    }
                  },
                  "summary": "Other payment",
                  "description": "An example of payment based on own integration with payment provider. The order is prepaid."
                },
                "10": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "creditcard",
                    "orderAmount": 150,
                    "currency": "NOK",
                    "marketingCouponCode": "NOA3263",
                    "marketingCouponNumber": 51,
                    "companyCode": "468979834",
                    "seller": "AY",
                    "customerReference": "23523523",
                    "payer": {
                      "customerNumber": 71,
                      "personsSocialSecurityNumber": "890102-3286",
                      "firstName": "Kari",
                      "middleName": "Snøhaug",
                      "lastName": "Nordmann",
                      "street": "Osloveien",
                      "streetNumber": 12,
                      "floor": 3,
                      "postalCode": "0101",
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 6",
                      "postalAddressPostalCode": "0216",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 694224000000,
                      "sex": "female",
                      "emails": [
                        "kari.nordmann@gmail.com"
                      ],
                      "phoneNumbers": [
                        "+4787654321"
                      ],
                      "invoiceEmailAddress": "kari@company.com"
                    },
                    "orderLines": [
                      {
                        "productSpecType": "product",
                        "product": "Some",
                        "quantity": 1,
                        "unitPrice": 150
                      }
                    ],
                    "recurring": true,
                    "paymentInfo": {
                      "ticket": "7b9nwomhbok",
                      "cardNumberMasked": "xxxx-xxxxxx-x8271",
                      "expMonth": "10",
                      "expYear": "19",
                      "cardTypeName": "Mastercard",
                      "transactionId": "472",
                      "merchantId": "54823419",
                      "ticketMerchantId": "54823419",
                      "secure3d": true,
                      "verificationIdPresent": true,
                      "enrolled": true
                    }
                  },
                  "summary": "Product",
                  "description": "An example of order based on productSpecType product."
                },
                "11": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "invoice",
                    "orderAmount": 798,
                    "currency": "NOK",
                    "payer": {
                      "customerNumber": 26,
                      "firstName": "Hans",
                      "lastName": "Nordmann",
                      "street": "Fjellsvegen",
                      "streetNumber": 15,
                      "floor": 3,
                      "postalCode": "4023",
                      "postalPlace": "Stavanger",
                      "postalAddress": "Postboks 7",
                      "postalAddressPostalCode": 385,
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 694224000000,
                      "sex": "male",
                      "emails": [
                        "hans.nordmann@email.no"
                      ],
                      "phoneNumbers": [
                        "+4777777777"
                      ]
                    },
                    "orderLines": [
                      {
                        "productSpecType": "issue",
                        "productSpecCode": "KSDAT",
                        "productSpecNo": 523,
                        "product": "KAT",
                        "quantity": 2,
                        "unitPrice": 349,
                        "allowAccessProduct": "DV373592",
                        "allowAccessCategoryType": "29452",
                        "allowAccessSeconds": 2542300,
                        "rewardPartnerId": 7642,
                        "rewardId": "63"
                      }
                    ]
                  },
                  "summary": "Issue",
                  "description": "An example of order based on productSpecType issue."
                },
                "12": {
                  "value": {
                    "orderDate": 1547078400000,
                    "paymentMethod": "creditcard",
                    "orderAmount": 150,
                    "currency": "NOK",
                    "companyCode": "468979834",
                    "payer": {
                      "customerNumber": 71,
                      "personsSocialSecurityNumber": "890102-3286",
                      "firstName": "Mari",
                      "lastName": "Nordmann",
                      "street": "Bodøveien",
                      "streetNumber": 15,
                      "floor": 2,
                      "postalCode": "0201",
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 7",
                      "postalAddressPostalCode": "0316",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO",
                      "birthDate": 694224000000,
                      "sex": "female",
                      "emails": [
                        "mari.nordmann@gmail.com"
                      ],
                      "phoneNumbers": [
                        "+4787654321"
                      ],
                      "invoiceEmailAddress": "mari@company.com"
                    },
                    "orderLines": [
                      {
                        "productSpecType": "article",
                        "quantity": 1,
                        "unitPrice": 150,
                        "articleDetail": {
                          "companyCode": "COMP",
                          "product": "DIGI",
                          "articleRef": "afjs9823",
                          "articleDesc": "Digital utgave",
                          "articleCategory": "VMDigi"
                        }
                      }
                    ],
                    "recurring": true,
                    "paymentInfo": {
                      "ticket": "7b9nwomhbok",
                      "cardNumberMasked": "xxxx-xxxxxx-x8271",
                      "expMonth": "10",
                      "expYear": "19",
                      "cardTypeName": "Mastercard",
                      "transactionId": "472",
                      "merchantId": "54823419",
                      "ticketMerchantId": "54823419",
                      "secure3d": true,
                      "verificationIdPresent": true,
                      "enrolled": true
                    }
                  },
                  "summary": "Article"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-RegisterOrder-response"
                },
                "example": {
                  "orderId": 9
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/reward/check": {
      "post": {
        "summary": "Check reward - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API will return a response if there exists a reward that correlates with input.",
        "tags": [
          "Reward"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckRewardClientMode-request"
              },
              "example": {
                "rewardId": "1",
                "rewardPartnerId": 2674
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckRewardClientMode-response"
                },
                "example": {
                  "customerNumber": 327492,
                  "product": "29452",
                  "rewardId": "1"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/order/{orderId}/user": {
      "post": {
        "summary": "Assign user - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nUsing this endepoint requires configuration of LOGIN_BASE_URL. If `isSendMessage` is true, then `overrideClientId` is required. You may check if the credentials (phone number/email) already exits in ConnectID by using [Check credential](check-credential-client-mode-15815860e0) - client mode API.\n\nUse this API to assign user to a previously fulfilled order. If the order was registered using the client order API, you have the option to attach the order to a ConnectID user with a specified credential. To perform this action you provide the `credential`.\n\nThe previously created order is attached to the ConnectID user that is specified with the given credential on request. If no user does exist, it will be created based on the provided credential.\nThe user is notified on the attachment via an email or an SMS message if `isSendMessage` is set as true. The message is composed using a template that must be configured by Unite support. A part of this message is a link that the user must click in order to login (for existing users) or set password (for new users). This means that you also must supply the `returnUrl` and `errorUrl`. These urls are used by our systems to generate the link in the message.\n\nSending of email/SMS is asynchronous. Messages that are sent to the user may be customized for SMS/email. In addition messages may be different for new users that needs to set password or existing users with direct link to login.",
        "operationId": "assignuser",
        "tags": [
          "User"
        ],
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "Used to identify an order.",
            "required": true,
            "example": "",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignUserClientMode-request"
              },
              "example": {
                "credential": "+4712345678",
                "isSendMessage": true,
                "returnUrl": "www.mediaconect.no/...",
                "errorUrl": "www.mediaconect.no/...",
                "linkLifetime": 2,
                "overrideClientId": "no.mediaconnect"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssignUserClientMode-response"
                },
                "example": {
                  "orderId": 14,
                  "uniqueUserId": "f21942404003447993b198bdd7ba2ef4",
                  "isNewUser": true,
                  "isPasswordSet": false
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/voucher/coupons/{voucherCode}": {
      "get": {
        "summary": "List voucher code coupons - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API will return a list with coupons that may be used with a given `voucherCode`. Vocher code is additionally validated, i.e is it a valid code and is it possible to use. An invalid voucher code result in a validation exception.",
        "tags": [
          "Voucher Coupons"
        ],
        "parameters": [
          {
            "name": "voucherCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 36,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVoucherCodeCouponsClientMode-response"
                },
                "example": {
                  "coupons": [
                    {
                      "couponCode": "WMDigi",
                      "couponNumber": 5223,
                      "description": "Offer for new customers"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/invoice": {
      "get": {
        "summary": "List basic invoice info",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nBasic information about invoices for all products. It contains no details about the invoices.\nThis API returns a list of basic invoice info ordered by decending invoice date.",
        "tags": [
          "Invoice"
        ],
        "parameters": [
          {
            "name": "includeUnpaid",
            "in": "query",
            "description": "Specifies if invoices returned should include unpaid invoices\n\n- **true**: The invoice list includes all invoices.\n- **false**: The invoice list only includes paid invoices.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": " If date is specified, then from this date will be invoices/payments returned. Format: YYYY-MM-DD",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "If date is specified then up this date will be returned invoices/payments.\nFormat: YYYY-MM-DD",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListBasicInvoiceInfo-response"
                },
                "example": {
                  "invoices": [
                    {
                      "invoiceNumber": 1234,
                      "companyCode": "COMP",
                      "invoiceOfferCount": 1,
                      "invoiceDate": "2019-06-12",
                      "invoicePaymentStatus": "paid",
                      "invoiceAmount": 295,
                      "invoiceCurrency": "NOK",
                      "invoiceHotelUrl": "http://mediaconnect.no/invoice/view/gkcb93qgt94ca6943bloitxgq4de",
                      "invoiceDueDate": "2019-07-17",
                      "invoiceType": "invoice",
                      "paidAmount": 295,
                      "description": "Weekly Magazine",
                      "fromTime": "2019-06-12",
                      "includeTime": "2019-06-12"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/invoice/{productCode}": {
      "get": {
        "summary": "List basic invoice info for product",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nBasic information about invoices for a specific product. It contains no details about the invoices.\nThis API returns a list of basic invoice info ordered by decending invoice date.",
        "tags": [
          "Invoice"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "Product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "includeUnpaid",
            "in": "query",
            "description": "Specifies if invoices returned should include unpaid invoices\n\n- **true**: The invoice list includes all invoices.\n- **false**: The invoice list only includes paid invoices.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "If date is specified, then from this date will be invoices/payments returned. \nSpecify the date in format: YYYY-MM-DD",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "If date is specified then up this date will be returned invoices/payments.\nSpecify the date in format: YYYY-MM-DD",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListBasicInvoiceInfo-response"
                },
                "example": {
                  "invoices": [
                    {
                      "invoiceNumber": 1234,
                      "companyCode": "COMP",
                      "invoiceOfferCount": 1,
                      "invoiceDate": "2019-06-12",
                      "invoicePaymentStatus": "paid",
                      "invoiceAmount": 295,
                      "invoiceCurrency": "NOK",
                      "invoiceHotelUrl": "http://mediaconnect.no/invoice/view/gkcb93qgt94ca6943bloitxgq4de",
                      "invoiceDueDate": "2019-07-17",
                      "invoiceType": "invoice",
                      "paidAmount": 295,
                      "description": "Weekly Magazine",
                      "fromTime": "2019-06-12",
                      "includeTime": "2019-06-12"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/invoice/payment": {
      "get": {
        "summary": "List invoices and reminders",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nIt shows a list of all invoices, including paid or/and unpaid invoices and reminders.\nIn response is returned list of invoiced products for customer. This is also payments info if paid amount is specified.",
        "tags": [
          "Invoice"
        ],
        "parameters": [
          {
            "name": "unpaid",
            "in": "query",
            "description": "Specifies if invoices returned should include unpaid invoices\n\n- **true**: The invoice list includes all invoices.\n- **false**: The invoice list only includes paid invoices.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "If date is specified, then from this date will be invoices/payments returned\r\n\r\nIf no dates are specified then will be returned last invoice for given (first) product on invoice.\r\n\r\n Specify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "If date is specified then up this date will be returned invoices/payments.\r\n\r\n Specify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListInvoices-response"
                },
                "example": {
                  "invoices": [
                    {
                      "customerNumber": 563457,
                      "product": "CO27409",
                      "invoiceOfferCount": "1",
                      "productName": "Weekly Magazine",
                      "amount": 49,
                      "invoiceDate": "2022-01-07",
                      "invoiceNumber": "7435367",
                      "companyCode": "5646903690",
                      "paymentDate": "2022-01-17",
                      "dueDate": "2022-01-21",
                      "paymentStatus": "0",
                      "invoiceAmount": "295.00",
                      "paidAmount": 0,
                      "paymentMethod": "A",
                      "invoiceHotelUrl": "http://mediaconnect.no/invoice/view/gkcb93qgt94ca6943bloitxgq4de",
                      "invoiceStatus": "Invoiced"
                    }
                  ],
                  "reminders": [
                    {
                      "invoiceNumber": 7435367,
                      "product": "CO27409",
                      "fromTime": "2023-01-01",
                      "includeTime": "2024-01-01",
                      "reminderDate": 1560333600000,
                      "amount": 49,
                      "dueDate": 1561716000000,
                      "reminderNumber": 1,
                      "reminderType": "reminder",
                      "invoiceHotelUrl": "http://mediaconnect.no/invoice/view/gkcb93qgt94ca6943bloitxgq4de"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/invoice/payment/{product}": {
      "get": {
        "summary": "List invoices and reminders for product",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nIt shows a list of invoices for a specific product, including paid or/and unpaid invoices and reminders.\nIn response is returned list of invoiced products for customer. This is also payments info if paid amount is specified.",
        "tags": [
          "Invoice"
        ],
        "parameters": [
          {
            "name": "product",
            "in": "path",
            "description": "product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "unpaid",
            "in": "query",
            "description": "Specifies if invoices returned should include unpaid invoices\n\n- **true**: The invoice list includes all invoices.\n- **false**: The invoice list only includes paid invoices.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "If date is specified, then from this date will be invoices/payments returned\r\n\r\nIf no dates are specified then will be returned last invoice for given (first) product on invoice.\r\n\r\n Specify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "If date is specified then up this date will be returned invoices/payments.\r\n\r\n Specify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListInvoices-response"
                },
                "example": {
                  "invoices": [
                    {
                      "customerNumber": 563457,
                      "product": "CO27409",
                      "invoiceOfferCount": "1",
                      "productName": "Weekly Magazine",
                      "amount": 49,
                      "invoiceDate": "2022-01-07",
                      "invoiceNumber": "7435367",
                      "companyCode": "5646903690",
                      "paymentDate": "2022-01-17",
                      "dueDate": "2022-01-21",
                      "paymentStatus": "0",
                      "invoiceAmount": "295.00",
                      "paidAmount": 0,
                      "paymentMethod": "A",
                      "invoiceHotelUrl": "http://mediaconnect.no/invoice/view/gkcb93qgt94ca6943bloitxgq4de",
                      "invoiceStatus": "Invoiced"
                    }
                  ],
                  "reminders": [
                    {
                      "invoiceNumber": 7435367,
                      "product": "CO27409",
                      "fromTime": "2023-01-01",
                      "includeTime": "2024-01-01",
                      "reminderDate": 1560333600000,
                      "amount": 49,
                      "dueDate": 1561716000000,
                      "reminderNumber": 1,
                      "reminderType": "reminder",
                      "invoiceHotelUrl": "http://mediaconnect.no/invoice/view/gkcb93qgt94ca6943bloitxgq4de"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/invoice/details": {
      "get": {
        "summary": "List invoice details",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nRetrieves invoice details regarding one specific invoice based on company code, invoice number and reminder number. Information about offers and details in the offer and lines are presented.",
        "tags": [
          "Invoice"
        ],
        "parameters": [
          {
            "name": "companyCode",
            "in": "query",
            "description": "Company invoice belongs to",
            "required": true,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Invoice number",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "reminderNumber",
            "in": "query",
            "description": "Reminder number. 0 for invoice",
            "required": true,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListInvoiceDetails-response"
                },
                "example": {
                  "invoiceInfoWithDetail": {
                    "invoiceNumber": 7,
                    "companyCode": "FTOTT",
                    "invoiceOfferCount": 1,
                    "invoiceDate": "2018-01-17",
                    "invoicePaymentStatus": "partiallyPaid",
                    "invoiceAmount": 110,
                    "invoiceCurrency": "NOK",
                    "invoiceHotelUrl": "www.invoicehotel.no",
                    "invoiceDueDate": "2018-01-17",
                    "invoiceType": "invoice",
                    "paidAmount": 0,
                    "description": "Toten testprodukt",
                    "fromTime": "2020-01-01",
                    "includeTime": "2021-01-01",
                    "invoiceOfferInfo": [
                      {
                        "offerNumber": 1,
                        "invoiceAmount": 100,
                        "invoiceVatAmount": 10,
                        "customerIdentification": "1234567",
                        "invoiceLineInfoList": [
                          {
                            "productCode": "TOTT",
                            "invoiceAmount": 50,
                            "invoiceVatAmount": 5,
                            "invoiceVatPercent": 10,
                            "description": "TOTEN TEST",
                            "fromTime": "2018-01-01",
                            "includeTime": "2018-06-01"
                          },
                          {
                            "productCode": "PORTO",
                            "invoiceAmount": 50,
                            "invoiceVatAmount": 5,
                            "invoiceVatPercent": 10,
                            "description": "Porto til utland"
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/invoice/payment/{customerNumber}": {
      "get": {
        "summary": "List invoices - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThe API for extracting information about payment history and `paymentMethod` for a customer based on `customerNumber`.",
        "tags": [
          "Invoice"
        ],
        "parameters": [
          {
            "name": "customerNumber",
            "in": "path",
            "description": "The customer number",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "If date is specified, then from this date will be invoices/payments returned.\r\n\r\nIf no dates are specified then will be returned last invoice for given (first) product on invoice.\r\n\r\n Specify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "If date is specified then up this date will be returned invoices/payments.\r\n\r\nIf no dates are specified then will be returned last invoice for given (first) product on invoice.\r\n\r\n Specify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListInvoiceClientMode-response"
                },
                "example": {
                  "clientInvoiceInfoList": [
                    {
                      "invoiceId": "1",
                      "invoiceDate": 1701903600000,
                      "invoiceOfferCount": "1",
                      "customerNumber": 563457,
                      "product": "CO27409",
                      "productName": "Weekly Magazine",
                      "amount": 2,
                      "companyCode": "5646903690",
                      "paymentStatus": "0",
                      "invoiceAmount": 295,
                      "paidAmount": 0,
                      "paymentMethod": "A",
                      "invoiceHotelUrl": "http://mediaconnect.no/invoice/view/gkcb93qgt94ca6943bloitxgq4de",
                      "paymentDate": 1701903600000,
                      "dueDate": 1701903600000,
                      "desc": [
                        "Weekly Magazine"
                      ],
                      "period": 1,
                      "periodUnit": "E",
                      "fromTime": "2023-12-08",
                      "incltime": "2024-02-15",
                      "invoiceLineInfo": [
                        {
                          "productCode": "CO27409",
                          "invoiceAmount": 84.54,
                          "invoiceVatAmount": 13.47,
                          "invoiceVatPercent": 36.73
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/invoice/payment/{customerNumber}/{productCode}": {
      "get": {
        "summary": "List invoices for product - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThe API for extracting information about payment history and `paymentMethod` for a customer based on `customerNumber`.",
        "tags": [
          "Invoice"
        ],
        "parameters": [
          {
            "name": "customerNumber",
            "in": "path",
            "description": "The customer number",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "productCode",
            "in": "path",
            "description": "The response is a list of invoiced products for customer.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "If date is specified, then from this date will be invoices/payments returned.\r\n\r\nIf no dates are specified then will be returned last invoice for given (first) product on invoice.\r\n\r\nSpecify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "If date is specified then up this date will be returned invoices/payments.\r\n\r\nIf no dates are specified then will be returned last invoice for given (first) product on invoice.\r\n\r\nSpecify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListInvoiceClientMode-response"
                },
                "example": {
                  "clientInvoiceInfoList": [
                    {
                      "invoiceId": "1",
                      "invoiceDate": 1560333600000,
                      "invoiceOfferCount": "1",
                      "customerNumber": 563457,
                      "product": "CO27409",
                      "productName": "Weekly Magazine",
                      "amount": 2,
                      "companyCode": "5646903690",
                      "paymentStatus": "0",
                      "invoiceAmount": 295,
                      "paidAmount": 0,
                      "paymentMethod": "A",
                      "invoiceHotelUrl": "http://mediaconnect.no/invoice/view/gkcb93qgt94ca6943bloitxgq4de",
                      "paymentDate": 1561716000000,
                      "dueDate": 1561716000000,
                      "desc": [
                        "Weekly Magazine"
                      ],
                      "period": 1,
                      "periodUnit": "E",
                      "fromTime": "2019-06-12",
                      "incltime": "2020-06-12",
                      "invoiceLineInfo": [
                        {
                          "productCode": "CO27409",
                          "invoiceAmount": 84.54,
                          "invoiceVatAmount": 13.47,
                          "invoiceVatPercent": 36.73
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/invoiceaddress/{product}": {
      "get": {
        "summary": "List invoice address",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAddress API for invoice address of given product for customer.\n\nIn response is returned address for customer to a specific product.\n\nNB! All data is read from sync data in ConnectID.",
        "tags": [
          "InvoiceAddress"
        ],
        "parameters": [
          {
            "name": "product",
            "in": "path",
            "description": "product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListInvoiceAddress-response"
                },
                "example": {
                  "name": {
                    "firstName": "Ola",
                    "middleName": "Fjordstrand",
                    "lastName": "Nordmann",
                    "companyName": "Company International Ltd",
                    "departmentName": "Support"
                  },
                  "address": {
                    "streetAddress": "Grubbegata",
                    "streetNumber": 6,
                    "entrance": "A",
                    "floor": 6,
                    "postalCode": 179,
                    "postalPlace": "Oslo",
                    "postalAddress": "Postboks 265 Økern",
                    "postalAddressPostalCode": "0510",
                    "postalAddressPostalPlace": "Oslo",
                    "countryCode": "NO"
                  },
                  "payerSameAsCustomer": true,
                  "payerCustomerNumber": 563457
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/payment/klarna/token": {
      "get": {
        "summary": "List klarna recurring tokens",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nProduces a list with Klarna recurring tokens. Only tokens marked as valid are returned.",
        "tags": [
          "Klarna"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListKlarnaTokens-response"
                },
                "example": {
                  "recurringTokens": [
                    {
                      "token": "abcd-efgh",
                      "paymentProviderId": 55,
                      "productCode": "CO27409"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Add Klarna token",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse the id from the response to complete the adding the card by redirecting the customer to ``loginServer/payment/klarna/token/add?clientId=…&returnUrl=….&errorUrl=…..&transactionId=12378954``. The system will redirect the customer to the proper third-party system for the change, and upon success will then redirect to the given ``returnUrl``. If an system error occurs, the given ``errorUrl`` will be used instead.\n\nIn addition to return url will be returned the result of operation:\n\n* **finished** - if token was registered correctly,\n* **cancelled** - user cancelled the adding the token, token is not added,\n* **failed** - it was not possible to create a token, adding of token fails,\n* **unknown** - unknown status of operation,\n* **initiated** - creation of token was initiated,\n* **error** - never shall happen, instead shall go to `errorUrl`.",
        "tags": [
          "Klarna"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddKlarnaToken-request"
              },
              "example": {
                "productCode": "CO27409"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddKlarnaToken-response"
                },
                "example": {
                  "success": true,
                  "transactionId": 12378954
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "patch": {
        "summary": "Remove Klarna token",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API can be used for removing klarna tokens.",
        "tags": [
          "Klarna"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveKlarnaToken-request"
              },
              "example": {
                "token": "abcd-efgh",
                "paymentProviderId": 11
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemoveKlarnaToken-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/api/payment/nexi/subscription": {
      "get": {
        "summary": "List Nexi subscriptions",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nProduces a list with subscriptions related to users Connect customer. Response is based on subscriptions registered in ConnectID, i.e subscriptions received from Connect and stored in ConnectID. Only subscriptions marked as valid are returned.",
        "tags": [
          "Nexi"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListNexiSubscriptions-response"
                },
                "example": {
                  "subscriptions": [
                    {
                      "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
                      "paymentProviderId": 12,
                      "productCode": "CO27409",
                      "cardDetails": {
                        "cardMaskedPan": "426827******4847",
                        "expMonth": "12",
                        "expYear": "29"
                      },
                      "paymentType": "CARD",
                      "paymentMethod": "Visa"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": " Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Add Nexi subscription",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse the id from the response to complete the adding the subscription by redirecting the customer to ``loginServer/payment/nexi/subscription/add?clientId=…&returnUrl=….&errorUrl=…..&transactionId=12378954``. The system will redirect the customer to the proper third-party system for the change, and upon success will then redirect to the given ``returnUrl``. If an system error occurs, the given ``errorUrl`` will be used instead.\n\nIn addition to return url will be returned the result of operation:\n\n* **finished** - if subscription was registered correctly,\n* **cancelled** - user cancelled the adding the subscription, subscription is not added,\n* **failed** - it was not possible to create a subscription, adding of subscription fails,\n* **unknown** - unknown status of operation,\n* **initiated** - creation of subscription was initiated,\n* **error** - never shall happen, instead shall go to `errorUrl`.",
        "tags": [
          "Nexi"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddNexiSubscription-request"
              },
              "example": {
                "productCode": "CO27409"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddNexiSubscription-response"
                },
                "example": {
                  "success": true,
                  "transactionId": 12378954
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "patch": {
        "summary": "Remove Nexi subscription",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API can be used for removing subscriptions from a nexi paymentprovider",
        "tags": [
          "Nexi"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveNexiSubscription-request"
              },
              "example": {
                "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
                "paymentProviderId": "12"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemoveNexiSubscription-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/api/payment/payex/token": {
      "get": {
        "summary": "List PayEx tokens",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nInformation and functions related to recurring payment tokens.\n\nProduces a list with tokens related to users Connect customer. Response is based on tokens registered in ConnectID, i.e tokens received from Connect and stored in ConnectID. Only tokens marked as valid are returned.",
        "tags": [
          "PayEx"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPayExTokens-response"
                },
                "example": {
                  "paymentRecurrenceTokens": [
                    {
                      "recurrenceToken": "4v8nwodhfja",
                      "paymentProviderId": 11,
                      "merchantId": "45723589",
                      "productCode": "CO27409",
                      "maskedCardNumber": "xxxx-xxxxxx-x2348",
                      "expirationMonth": "12",
                      "expirationYear": "18",
                      "cardTypeName": "VISA"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": " Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Add PayEx token",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse the id from the response to complete the adding the card by redirecting the customer to ``loginServer/payment/payex/token/add?clientId=…&returnUrl=….&errorUrl=…..&transactionId=12378954``. The system will redirect the customer to the proper third-party system for the change, and upon success will then redirect to the given ``returnUrl``. If an system error occurs, the given ``errorUrl`` will be used instead.\n\nIn addition to return url will be returned the result of operation:\n\n* **finished** - if token was registered correctly,\n* **cancelled** - user cancelled the adding the token, token is not added,\n* **failed** - it was not possible to create a token, adding of token fails,\n* **unknown** - unknown status of operation,\n* **initiated** - creation of token was initiated,\n* **error** - never shall happen, instead shall go to `errorUrl`.",
        "tags": [
          "PayEx"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddPayExToken-request"
              },
              "example": {
                "tokenType": "card",
                "productCode": "CO27409"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddPayExToken-response"
                },
                "example": {
                  "success": true,
                  "transactionId": 12378954
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "patch": {
        "summary": "Remove PayEx token",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API can be used for removing tokens from a payex paymentprovider",
        "tags": [
          "PayEx"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemovePayExToken-request"
              },
              "example": {
                "paymentProviderId": "11",
                "recurrenceToken": "4v8nwodhfja"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemovePayExToken-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/payment/{product}": {
      "get": {
        "summary": "List payment methods",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nPayment API for get existing pay method, see possible pay method and changing pay method.",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "name": "product",
            "in": "path",
            "description": "product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPaymentMethods-response"
                },
                "example": {
                  "paymentMethodResponseItems": [
                    {
                      "paymentMethod": "recurringPayment",
                      "isActive": "Y"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/api/payment/invoice": {
      "post": {
        "summary": "Pay invoice",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse the id from the response to complete the payment by redirecting the customer to ``loginServer/payment/invoice/pay?clientId=…&returnUrl=…&errorUrl=…&transactionId=12378954``. The system will redirect the customer to the proper third-party system for the payment, and upon success will then redirect to the given ``returnUrl``. If an system error occurs, the given ``errorUrl`` will be used instead.\n\nIn addition to return url will be returned the result of operation:\n\n* **finished** - if payment was registered correctly\n* **cancelled** - user cancelled the payment\n* **failed** - it was not possible to create a payment\n* **unknown** - unknown status of operation\n* **initiated** - creation of payment was initiated\n* **error** - never shall happen, instead shall go to `errorUrl`.",
        "tags": [
          "Payment"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PayInvoice-request"
              },
              "example": {
                "invoiceNumber": "7435367",
                "productCode": "CO27409",
                "companyCode": "68979834",
                "paymentMethod": "creditcardPayex"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayInvoice-response"
                },
                "example": {
                  "success": true,
                  "transactionId": 12378954
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/payment/{productCode}": {
      "post": {
        "summary": "Change payment method",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse the id from the response to complete the change by redirecting the customer to `/paymentChange?clientId=…&returnUrl=….&errorUrl=…..&paymentChangeId=12378954`. The system will redirect the customer to the proper third-party system for the change, and upon success will then redirect to the given `returnUrl`. If an error occurs, the given `errorUrl` will be used instead.\n\nIn addition to return url will be returned the **result** of operation:\n\n- **finished** - if ticket was registered correctly.\n- **cancelled** - user cancelled the adding the ticket, ticket is not added.\n- **failed** - it was not possible to create a ticket, adding of ticket fails.\n- **unknown** - unknown status of operation.\n- **initiated** - creation of ticket was initiated.\n- **error** - never shall happen, instead shall go to `errorUrl`.",
        "tags": [
          "Payment"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "minLength": 1,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePaymentMethod-request"
              },
              "example": {
                "paymentMethod": "recurringPayExCardPayment"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangePaymentMethod-response"
                },
                "example": {
                  "paymentChangeId": 12378954
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/payment/vipps/agreement": {
      "get": {
        "summary": "List vipps agreements",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nProduces a list with Vipps recurring agreements. Only agreements marked as valid are returned.",
        "tags": [
          "Vipps"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListVippsAgreement-response"
                },
                "example": {
                  "recurringAgreements": [
                    {
                      "agreementRef": "abcd-efgh",
                      "paymentProviderId": 55,
                      "productCode": "CO27409"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Add vipps agreement",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse the id from the response to complete the adding the card by redirecting the customer to ``loginServer/payment/vipps/agreement/add?clientId=…&returnUrl=….&errorUrl=…..&transactionId=12378954``. The system will redirect the customer to the proper third-party system for the change, and upon success will then redirect to the given ``returnUrl``. If an system error occurs, the given ``errorUrl`` will be used instead.\n\nIn addition to return url will be returned the result of operation:\n\n* **finished** - if agreement was registered correctly,\n* **cancelled** - user cancelled the adding the agreement, agreement is not added,\n* **failed** - it was not possible to create an agreement, adding of agreement fails,\n* **unknown** - unknown status of operation,\n* **initiated** - creation of agreement was initiated,\n* **error** - never shall happen, instead shall go to `errorUrl`.",
        "tags": [
          "Vipps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddVippsAgreement-request"
              },
              "example": {
                "productCode": "CO27409"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddVippsAgreement-response"
                },
                "example": {
                  "success": true,
                  "transactionId": 12378954
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "patch": {
        "summary": "Remove vipps agreement",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API can be used for removing Vipps agreement.",
        "tags": [
          "Vipps"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveVippsAgreement-request"
              },
              "example": {
                "agreementRef": "abcd-efgh",
                "paymentProviderId": 25
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemoveVippsAgreement-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/privacy/access": {
      "post": {
        "summary": "Access private data",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI for granting access to customer private data. Due this API will be created workflow case in Connect.",
        "tags": [
          "Consent"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccessPrivateData-request"
              },
              "example": {
                "sendReceipt": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ConsentAccess-response"
                },
                "example": {
                  "success": true,
                  "receiptSend": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/privacy/erasure": {
      "post": {
        "summary": "Remove private data",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI to erasure customer private data. Due this API will be created workflow case in Connect.",
        "tags": [
          "Consent"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemovePrivateData-request"
              },
              "example": {
                "sendReceipt": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ConsentAccess-response"
                },
                "example": {
                  "success": true,
                  "receiptSend": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/privacy/consentEvent/history/{issuer}/{subjectType}/{subject}": {
      "get": {
        "summary": "List consent event history - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAPI for getting consents event history to given `issuer` and `subject` (subject type).",
        "tags": [
          "Consent"
        ],
        "parameters": [
          {
            "name": "issuer",
            "in": "path",
            "description": "Used to identify who has required the consent, ex. name of the company.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "subjectType",
            "in": "path",
            "description": "The vaild type of subject is one of these:\r\n\r\n* **CONNECT**\r\n* **CONNECTID**\r\n* **EXTERNAL**\r\n* **ORDER**",
            "required": true,
            "example": "",
            "schema": {
              "enum": [
                "CONNECT",
                "CONNECTID",
                "EXTERNAL",
                "ORDER"
              ],
              "type": "string"
            }
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Identification of the subject:\r\n\r\n* Enter **customer number** for `subjectType` CONNECT\r\n* Enter **credential** for `subjectType` CONNECTID\r\n* Enter **external id** for `subjectType` External\r\n* Enter **ConnectID orderid** for `subjectType` ORDER.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "onlyActive",
            "in": "query",
            "description": "Whether to return active records or all the data:\n\n* **true**: It returns data only for active records.\n* **false**: It returns all the data.",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListConsentEventHistory"
                },
                "example": {
                  "issuer": "468979834",
                  "subject": "563457",
                  "subjectType": "CONNECT",
                  "consents": [
                    {
                      "consentId": 1,
                      "target": "editoral",
                      "scope": "email",
                      "events": [
                        {
                          "consentEventId": 1,
                          "created": 1560963388000,
                          "source": "Selfservice",
                          "action": false
                        },
                        {
                          "consentEventId": 2,
                          "created": 1560968512000,
                          "source": "Selfservice",
                          "action": true
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/privacy/consent/text/{issuer}": {
      "get": {
        "summary": "List consent text - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAPI for getting consent text in additon to consent name and description. Consent text can be get for all `issuer` consents, for consents of given group or for specyfic consent (by `consentId` or `target` and `scope`).",
        "tags": [
          "Consent"
        ],
        "parameters": [
          {
            "name": "issuer",
            "in": "path",
            "description": "Identification of the issuer for consent text",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "consentGroupId",
            "in": "query",
            "description": "If group is specified, only for this group will be consent text returned",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "consentId",
            "in": "query",
            "description": "That only for this consent will be text returned",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "target",
            "in": "query",
            "description": "If target is specified for this target will be returned text info",
            "required": false,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "description": "In addition to target scope specified consent",
            "required": false,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "onlyActive",
            "in": "query",
            "description": "Whether to return active records or all the data:\n\n* **true**: It returns data only for active records.\n* **false**: It returns all the data.          ",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListConsentTextClientMode-response"
                },
                "example": {
                  "issuer": "468979834",
                  "consents": [
                    {
                      "consentId": 1,
                      "consentGroupId": 1,
                      "target": "editoral",
                      "scope": "email",
                      "texts": [
                        {
                          "textId": 1,
                          "languageCode": "nb_NO",
                          "text": "Samtykker du til å motta eposter?",
                          "fromDate": 1561932001000
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/privacy/consent/text/history/{issuer}": {
      "get": {
        "summary": "List consent text history - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n",
        "tags": [
          "Consent"
        ],
        "parameters": [
          {
            "name": "issuer",
            "in": "path",
            "description": "Used to identify who has required the consent, ex. name of the company.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "consentGroupId",
            "in": "query",
            "description": "If group is specified, only for this group will be consent text history returned",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "consentId",
            "in": "query",
            "description": "That only for this consent will be text history returned",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "target",
            "in": "query",
            "description": "If target is specified for this target will be returned history",
            "required": false,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "description": "In addition to target scope specified consent, so `target` & `scope` can identified consent",
            "required": false,
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "onlyActive",
            "in": "query",
            "description": "Whether to return active records or all the data:\n\n* **true**: It returns data only for active records.\n* **false**: It returns all the data.",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListConsentTextHistoryClientMode-response"
                },
                "example": {
                  "issuer": "468979834",
                  "consents": [
                    {
                      "consentId": 1,
                      "consentGroupId": 1,
                      "target": "editoral",
                      "scope": "email",
                      "texts": [
                        {
                          "consentTextId": 1,
                          "languageCode": "nb_NO",
                          "textHistory": [
                            {
                              "consentTextHistoryId": 1,
                              "text": "Samtykker du til å motta eposter?",
                              "fromDate": 1559386588000,
                              "toDate": 1561892188000
                            },
                            {
                              "consentTextHistoryId": 2,
                              "text": "Samtykker du til å motta epostmeldinger?",
                              "fromDate": 1561986769000,
                              "toDate": 1593609208000
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error\r\n",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/privacy/consentGroups/{issuer}": {
      "get": {
        "summary": "List consent groups - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAPI for getting consent group.",
        "tags": [
          "Consent"
        ],
        "parameters": [
          {
            "name": "issuer",
            "in": "path",
            "description": "Identification of the issuer principal of the consent.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "onlyActive",
            "in": "query",
            "description": "Whether to return active records or all the data:\n\n* **true**: It returns data only for active records.\n* **false**: It returns all the data.",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListConsentGroups"
                },
                "example": {
                  "issuer": "468979834",
                  "groups": [
                    {
                      "consentGroupId": 1,
                      "created": 1560851788000,
                      "selectionOrder": 2,
                      "texts": [
                        {
                          "languageCode": "en_GB",
                          "name": "Digital Communication",
                          "description": "Consent for digital communication"
                        },
                        {
                          "languageCode": "nb_NO",
                          "name": "Digital kommunikasjon",
                          "description": "Samtykke for digital kommunikasjon"
                        }
                      ],
                      "active": true
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/privacy/consents/{issuer}": {
      "get": {
        "summary": "List consent given issuer - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAPI for getting consents to given issuer.",
        "tags": [
          "Consent"
        ],
        "parameters": [
          {
            "name": "issuer",
            "in": "path",
            "description": "Used to identify who has required the consent, ex. name of the company.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "consentGroupId",
            "in": "query",
            "description": "If group is specified, only for this group will be consents returned",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "onlyActive",
            "in": "query",
            "description": "Whether to return active records or all the data:\n\n* **true**: It returns data only for active records.\n* **false**: It returns all the data.",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListConsentGivenIssuer"
                },
                "example": {
                  "issuer": "468979834",
                  "consents": [
                    {
                      "consentId": 1,
                      "consentGroupId": 1,
                      "target": "editoral",
                      "scope": "email",
                      "parentConsentId": 1,
                      "selectionOrder": 2,
                      "displayMode": "A",
                      "created": 1560855388000,
                      "texts": [
                        {
                          "languageCode": "nb_NO",
                          "name": "Kommunikasjon på epost",
                          "description": "Samtykker du til å motta eposter?"
                        },
                        {
                          "languageCode": "en_GB",
                          "name": "Communication on email",
                          "description": "Do you agree to recevice emails?"
                        }
                      ],
                      "active": true
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/privacy/consentEvent/history/{issuer}/{subjectType}/{subject}": {
      "get": {
        "summary": "List consent event history",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI for getting consents event history to given `issuer` and `subject` (subject type).",
        "tags": [
          "Consent"
        ],
        "parameters": [
          {
            "name": "issuer",
            "in": "path",
            "description": "Used to identify who has required the consent, ex. name of the company",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "subjectType",
            "in": "path",
            "description": "The vaild type of subject is one of these:\n\n- **CONNECT**\n- **CONNECTID**\n- **EXTERNAL**\n- **ORDER**",
            "required": true,
            "example": "",
            "schema": {
              "enum": [
                "CONNECT",
                "CONNECTID",
                "EXTERNAL",
                "ORDER"
              ],
              "type": "string"
            }
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Identification of the subject:\r\n\r\n* Enter **customer number** for `subjectType` CONNECT\r\n* Enter **credential** for `subjectType` CONNECTID\r\n* Enter **external id** for `subjectType` External\r\n* Enter **ConnectID orderid** for `subjectType` ORDER.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "onlyActive",
            "in": "query",
            "description": "Whether to return active records or all the data:\n\n* **true**: It returns data only for active records.\n* **false**: It returns all the data.",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListConsentEventHistory"
                },
                "example": {
                  "issuer": "468979834",
                  "subject": "563457",
                  "subjectType": "CONNECT",
                  "consents": [
                    {
                      "consentId": 1,
                      "target": "editoral",
                      "scope": "email",
                      "events": [
                        {
                          "consentEventId": 1,
                          "created": 1560963388000,
                          "source": "Selfservice",
                          "action": true
                        },
                        {
                          "consentEventId": 2,
                          "created": 1560963388000,
                          "source": "Selfservice",
                          "action": false
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/privacy/consents/{issuer}": {
      "get": {
        "summary": "List consent given issuer",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI for getting consents to given issuer.",
        "tags": [
          "Consent"
        ],
        "parameters": [
          {
            "name": "issuer",
            "in": "path",
            "description": "Used to identify who has required the consent, ex. name of the company.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "consentGroupId",
            "in": "query",
            "description": "If group is specified, only for this group will be consents returned.",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "onlyActive",
            "in": "query",
            "description": "Whether to return active records or all the data:\n\n* **true**: It returns data only for active records.\n* **false**: It returns all the data.",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListConsentGivenIssuer"
                },
                "example": {
                  "issuer": "468979834",
                  "consents": [
                    {
                      "consentId": 1,
                      "consentGroupId": 1,
                      "target": "editoral",
                      "scope": "email",
                      "parentConsentId": 1,
                      "selectionOrder": 2,
                      "displayMode": "A",
                      "created": 1560855388000,
                      "texts": [
                        {
                          "languageCode": "nb_NO",
                          "name": "Kommunikasjon på epost",
                          "description": "Samtykker du til å motta eposter?"
                        },
                        {
                          "languageCode": "en_GB",
                          "name": "Communication on email",
                          "description": "Do you agree to recevice emails?"
                        }
                      ],
                      "active": true
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/privacy/consentGroups/{issuer}": {
      "get": {
        "summary": "List consent groups",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI for getting consent group.",
        "tags": [
          "Consent"
        ],
        "parameters": [
          {
            "name": "issuer",
            "in": "path",
            "description": "Identification of the issuer principal of the consent.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 255,
              "type": "string"
            }
          },
          {
            "name": "onlyActive",
            "in": "query",
            "description": "Whether to return active records or all the data:\n\n* **true**: It returns data only for active records.\n* **false**: It returns all the data.",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListConsentGroups"
                },
                "example": {
                  "issuer": "468979834",
                  "groups": [
                    {
                      "consentGroupId": 1,
                      "created": 1560851788000,
                      "selectionOrder": 2,
                      "texts": [
                        {
                          "languageCode": "en_GB",
                          "name": "Digital Communication",
                          "description": "Consent for digital communication"
                        },
                        {
                          "languageCode": "nb_NO",
                          "name": "Digital kommunikasjon",
                          "description": "Samtykke for digital kommunikasjon"
                        }
                      ],
                      "active": true
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/customer/privacy/consentEvent": {
      "post": {
        "summary": "Register consent event - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAPI for granting consent.\n\nIt is required to provide either a `consentId`, or both `target` and `scope`. If all three fields are included, they are required to refer to the same consent.",
        "tags": [
          "Consent"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-RegisterConsentEvent-request"
              },
              "example": {
                "consentId": 1,
                "consentTarget": "editoral",
                "consentScope": "telephone",
                "subject": "563457",
                "subjectType": "CONNECT",
                "source": "Selfservice",
                "action": true,
                "eventTime": 1560277312000,
                "data": "dHJ1ZQ=="
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-RegisterConsentEvent-response"
                },
                "example": {
                  "consentId": 1,
                  "subject": "563457",
                  "subjectType": "CONNECT",
                  "consentEventId": 1,
                  "created": 1560963388000,
                  "source": "Selfservice",
                  "action": true,
                  "childEvents": {
                    "consentEventId": 1,
                    "consentId": 1,
                    "created": 1560363712000,
                    "action": true
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/privacy/consentEvent": {
      "post": {
        "summary": "Register consent event",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI for granting consent.\n\nIt is required to provide either a `consentId`, or both `target` and `scope`. If all three fields are included, they are required to refer to the same consent.",
        "tags": [
          "Consent"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-RegisterConsentEvent-request"
              },
              "example": {
                "consentId": 1,
                "consentTarget": "editoral",
                "consentScope": "telephone",
                "subject": "563457",
                "subjectType": "CONNECT",
                "source": "Selfservice",
                "action": true,
                "eventTime": 1560277312000,
                "data": "dHJ1ZQ=="
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-RegisterConsentEvent-response"
                },
                "example": {
                  "consentId": 1,
                  "subject": 563457,
                  "subjectType": "CONNECT",
                  "consentEventId": "1",
                  "created": 1560963388000,
                  "source": "Selfservice",
                  "action": true,
                  "childEvents": {
                    "consentEventId": 1,
                    "consentId": 1,
                    "created": 1560363712000,
                    "action": true
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/pbm": {
      "get": {
        "summary": "List global permissions",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API can be used to get the current permissions and shields for the customer. It may also be used to update the data.",
        "tags": [
          "Permission/Shield"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Pbm-channels"
                },
                "example": {
                  "channels": [
                    {
                      "type": "SHIELD",
                      "value": "TM"
                    },
                    {
                      "type": "SHIELD",
                      "value": "DM"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/pbm/{enterpriseCode}": {
      "get": {
        "summary": "List enterprise permissions",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n",
        "tags": [
          "Permission/Shield"
        ],
        "parameters": [
          {
            "name": "enterpriseCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Pbm-channels"
                },
                "example": {
                  "channels": [
                    {
                      "type": "PERMISSION",
                      "value": "DM"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Change enterprise permissions",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n",
        "tags": [
          "Permission/Shield"
        ],
        "parameters": [
          {
            "name": "enterpriseCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-Pbm-channels"
              },
              "example": {
                "channels": [
                  {
                    "type": "PERMISSION",
                    "value": "DM"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Pbm-channels"
                },
                "example": {
                  "channels": [
                    {
                      "type": "PERMISSION",
                      "value": "DM"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/pbm/{enterpriseCode}/{orderType}": {
      "get": {
        "summary": "List ordertype permissions",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n",
        "tags": [
          "Permission/Shield"
        ],
        "parameters": [
          {
            "name": "enterpriseCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "orderType",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Pbm-channels"
                },
                "example": {
                  "channels": [
                    {
                      "type": "PERMISSION",
                      "value": "DM"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Change ordertype permissions",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n",
        "tags": [
          "Permission/Shield"
        ],
        "parameters": [
          {
            "name": "enterpriseCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "orderType",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-Pbm-channels"
              },
              "example": {
                "channels": [
                  {
                    "type": "PERMISSION",
                    "value": "DM"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Pbm-channels"
                },
                "example": {
                  "channels": [
                    {
                      "type": "PERMISSION",
                      "value": "DM"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/shield/ordertype": {
      "post": {
        "summary": "Check shield ordertype - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nUse this API to shield customer(s) on order type level by a given `credential`. The `credential` is used to find customers. All customers found will be shielded against activity on specified `channel`.",
        "tags": [
          "Permission/Shield"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckShieldOrdertypeClientMode-request"
              },
              "example": {
                "enterpriseCode": "468979834",
                "orderTypeCode": "56235",
                "channel": "DM",
                "credential": "+4712345678"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-CheckShieldClientMode-response"
                },
                "example": {
                  "count": 0
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/shield/enterprise": {
      "post": {
        "summary": "Check shield enterprise - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n",
        "tags": [
          "Permission/Shield"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckShieldEnterpriseClientMode-request"
              },
              "example": {
                "enterpriseCode": "468979834",
                "channel": "TM",
                "credential": "+4712345678"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-CheckShieldClientMode-response"
                },
                "example": {
                  "count": 0
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/privacy/{enterpriseCode}": {
      "get": {
        "summary": "List privacy enterprise",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n",
        "tags": [
          "Privacy"
        ],
        "parameters": [
          {
            "name": "enterpriseCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-PrivacyEnterprise"
                },
                "example": {
                  "permission": [
                    {
                      "purpose": "DM"
                    },
                    {
                      "purpose": "EM"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Change privacy enterprise",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nPrivacy permissions exists on two levels: enterprise and ordertype. This API can be used to get the current privacy permissions the customer. It may also be used to update the data.",
        "tags": [
          "Privacy"
        ],
        "parameters": [
          {
            "name": "enterpriseCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-PrivacyEnterprise"
              },
              "example": {
                "permission": [
                  {
                    "purpose": "DM"
                  },
                  {
                    "purpose": "EM"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-PrivacyEnterprise"
                },
                "example": {
                  "permission": [
                    {
                      "purpose": "DM"
                    },
                    {
                      "purpose": "EM"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/privacy/{enterpriseCode}/{orderType}": {
      "get": {
        "summary": "List privacy ordertype",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API can be used to get the current privacy permissions the customer.",
        "tags": [
          "Privacy"
        ],
        "parameters": [
          {
            "name": "enterpriseCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "orderType",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-PrivacyOrdertype"
                },
                "example": {
                  "permission": [
                    {
                      "purpose": "DM"
                    },
                    {
                      "purpose": "EM"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Change privacy ordertype",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API can be used to update the current privacy permissions for the customer.",
        "tags": [
          "Privacy"
        ],
        "parameters": [
          {
            "name": "enterpriseCode",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "orderType",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-PrivacyOrdertype"
              },
              "example": {
                "permission": [
                  {
                    "purpose": "DM"
                  },
                  {
                    "purpose": "EM"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-PrivacyOrdertype"
                },
                "example": {
                  "permission": [
                    {
                      "purpose": "DM"
                    },
                    {
                      "purpose": "EM"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/subscription/share/invitation": {
      "post": {
        "summary": "Send subscription share invitation",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API initiates the sharing of a subscription by sending a share request to the share recipient. ",
        "tags": [
          "Sharing"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendSubscriptionShareInvitation-request"
              },
              "example": {
                "contact": "kari.nordmann@gmail.com",
                "contactType": "A",
                "productCode": "CO27409"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-SubscriptionShare-response"
                },
                "example": {
                  "status": "SHARE_OK"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "patch": {
        "summary": "Accept subscription share invitation",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API is called to accept a share invitation.",
        "tags": [
          "Sharing"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptSubscriptionShareInvitation-request"
              },
              "example": {
                "shareCode": "1234WEF",
                "changeType": "ACCEPT"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-SubscriptionShare-response"
                },
                "example": {
                  "status": "SHARE_OK"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/subscription/share/invitation": {
      "patch": {
        "summary": "Decline share - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API is used to decline a share request <br/> \nNB: `changeType` in the request has to be DECLINE",
        "tags": [
          "Sharing"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeclineShareClientMode-request"
              },
              "example": {
                "shareCode": "32479VSA",
                "changeType": "DECLINE"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeclineShareClientMode-response"
                },
                "example": {
                  "status": "5"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/product/share/rule/{productCode}": {
      "get": {
        "summary": "List shareable subscription rules",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n",
        "tags": [
          "Sharing"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCustomerProductShareRule-response"
                },
                "example": {
                  "customerProductShareRules": [
                    {
                      "productCode": "NAT",
                      "shareType": "A",
                      "shareCount": 3
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/{productCode}/distribution-level": {
      "get": {
        "summary": "List distribution levels",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API to list all availble distribution levels for selected product. Applicable only to B2B received subscriptions. Can be used to switch from current distribution level to one of the returned distribution levels e.g. to request start distribution.",
        "tags": [
          "Sharing"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDistributionLevels-response"
                },
                "example": {
                  "distributionLevels": [
                    {
                      "distributionLevel": "N",
                      "usage": "A"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/subscription/share/invitation/data": {
      "patch": {
        "summary": "Change subscription share invitation details",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API is called to update a share invitation details.",
        "tags": [
          "Sharing"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeSubscriptionShareInvitationDetails-request"
              },
              "example": {
                "shareCode": "kyu54",
                "firstName": "Kari",
                "lastName": "Nordmann"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Success-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/subscription/share": {
      "get": {
        "summary": "List all shared subscribers",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API lists all users and potiential users that have recieved a share request",
        "tags": [
          "Sharing"
        ],
        "parameters": [
          {
            "name": "history",
            "in": "query",
            "description": "- **true**:  Show full share history.\n- **false**: Show organized share history, expired or ended shares for the same contact will be comitted (only recent ones will be preserved).",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "name": "shareType",
            "in": "query",
            "description": "Share type allows you to specify which subscriptions to incude in the result:\n* **USERS**: Just user subscriptions\n* **B2B**: Just B2B subscriptions",
            "required": false,
            "schema": {
              "default": "USERS",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSharedSubscribers-response"
                },
                "example": {
                  "sharedUserInformationList": [
                    {
                      "userId": 80,
                      "startTime": 1560336440000,
                      "endTime": 1591958840000,
                      "shareStatus": "SHARE_REQUEST_SENT",
                      "shareContact": "+4712345678",
                      "shareContactType": "B",
                      "firstName": "John",
                      "lastName": "Doe",
                      "productName": "ABC magazine",
                      "productCode": "ABC",
                      "shareCode": "XYZ",
                      "customerNumber": 28
                    }
                  ],
                  "sharedSubscriptionSummary": [
                    {
                      "productCode": "ABC",
                      "sharesInUseCount": 1
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "patch": {
        "summary": "Cancel sharing",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API cancels sharing of a subscription.",
        "tags": [
          "Sharing"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelSharing-request"
              },
              "example": {
                "shareCode": "123AFDG",
                "changeType": "CANCEL"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-SubscriptionShare-response"
                },
                "example": {
                  "status": "SHARING_ENDED"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/product/share/net/{productCode}": {
      "get": {
        "summary": "List shareable subscription nets",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API for per domain, IP range sharing.",
        "tags": [
          "Sharing"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListCustomerProductShareNet-response"
                },
                "example": {
                  "nets": [
                    {
                      "loginRequired": false,
                      "startTime": 1562018400000,
                      "endTime": 1562277600000,
                      "ipRanges": [
                        {
                          "ipRangeStart": "192.168.0.1",
                          "ipRangeEnd": "192.168.0.2"
                        }
                      ],
                      "domains": [
                        {
                          "domain": "example.com"
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Change shareable subscription nets",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API for per domain, IP range sharing.",
        "tags": [
          "Sharing"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "Product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeCustomerProductShareNet-request"
              },
              "example": {
                "nets": [
                  {
                    "loginRequired": false,
                    "startTime": 1562018400000,
                    "endTime": 1562277600000,
                    "ipRanges": [
                      {
                        "ipRangeStart": "192.168.0.1",
                        "ipRangeEnd": "192.168.0.2"
                      }
                    ],
                    "domains": [
                      {
                        "domain": "example.com"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Success-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/delivery": {
      "patch": {
        "summary": "Change distribution level",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API to change distribution level for selected product. Applicable only to B2B received subscriptions. Can be used to switch from current distribution level to different one e.g. to request start distribution.",
        "tags": [
          "Sharing"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeDistributionLevel-request"
              },
              "example": {
                "productCode": "ABC",
                "distributionLevel": "N"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Success-response"
                },
                "example": {
                  "success": true
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/subscription/shared": {
      "get": {
        "summary": "List shared subscriptions",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API will return a list of all shared products the user subscribes to with their status.\n\nThis list may be empty in cases where the user has no shared subcriptions in the system.",
        "tags": [
          "Subscription"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSharedSubscriptions-response"
                },
                "example": {
                  "sharedSubscriptions": [
                    {
                      "productCode": "CO27409",
                      "stopped": false,
                      "startTime": 1651010400000,
                      "endTime": 1651010400000,
                      "paid": false,
                      "customerNumber": 22067744,
                      "customerName": {
                        "firstName": "Ola",
                        "middleName": "Fjordstrand",
                        "lastName": "Nordmann",
                        "companyName": "Company International Ltd",
                        "departmentName": "Support"
                      },
                      "shareCode": "123AFDG",
                      "shareType": "USERS",
                      "shareStatus": "SHARING_ENDED",
                      "shareStartTime": 1659022300643,
                      "shareEndTime": 1669022300643
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/subscription": {
      "get": {
        "summary": "List subscriptions",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API will return a list of all products the user subscribes to with their status.\n\nThis list may be empty in cases where the user has no subcriptions in the system.",
        "tags": [
          "Subscription"
        ],
        "parameters": [
          {
            "name": "subscriptionSourceFetchMode",
            "in": "query",
            "description": "Subscription source fetch mode allows you to specify which subscriptions to incude in the result:\r\n* **ORDINARY**: just ordinary subscriptions without B2B source(received)\r\n* **B2B**: just B2B source(received) without ordinary subscriptions\r\n* **ALL**: both ORDINARY and B2B.",
            "required": false,
            "schema": {
              "default": "ORDINARY",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListSubscriptions-response"
                },
                "example": {
                  "subscriptions": [
                    {
                      "product": "CO27409",
                      "stopped": false,
                      "startTime": 1703804400000,
                      "endTime": 1737586799000,
                      "paid": true,
                      "priceDetails": {
                        "couponCode": "WMDigi",
                        "couponNumber": 5223,
                        "discountfromfullsm": 0,
                        "promotion": "NC",
                        "promotionCategory": "NORHE",
                        "categoryType": ""
                      },
                      "shareable": true,
                      "shareType": "Nets",
                      "salesPerson": "Selger"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Start subscription",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nStart a recurring product using the provided parameters.",
        "tags": [
          "Subscription"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartSubscription-request"
              },
              "example": {
                "companyCode": "468979834",
                "product": "CO27409",
                "startTime": 1560336440000,
                "endTime": 1591958840000,
                "copies": "1",
                "couponCode": "WMDigi",
                "couponNumber": 5223,
                "customerReference": "cvxgds"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartSubscription-response"
                },
                "example": {
                  "status": "OK"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": []
          }
        ]
      }
    },
    "/v1/client/subscription/{customerNumber}": {
      "get": {
        "summary": "List subscriptions - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API will return a list of all products the user subscribes to with their status.\n\nThis list may be empty in cases where the user has no subcriptions in the system.",
        "tags": [
          "Subscription"
        ],
        "parameters": [
          {
            "name": "customerNumber",
            "in": "path",
            "description": "Customer number",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "subscriptionSourceFetchMode",
            "in": "query",
            "description": "Subscription source fetch mode allows you to specify which subscriptions to incude in the result:\r\n* **ORDINARY**: just ordinary subscriptions without B2B source(received)\r\n* **B2B**: just B2B source(received) without ordinary subscriptions\r\n* **ALL**: both ORDINARY and B2B.",
            "required": false,
            "schema": {
              "default": "ORDINARY",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListSubscriptions-response"
                },
                "example": {
                  "subscriptions": [
                    {
                      "product": "CO27409",
                      "stopped": false,
                      "startTime": 1706009061640,
                      "endTime": 1706009761640,
                      "paid": true,
                      "priceDetails": {
                        "couponCode": "WMDigi",
                        "couponNumber": 5223,
                        "discountfromfullsm": 0,
                        "promotion": "NC",
                        "categoryType": ""
                      },
                      "shareable": true,
                      "shareType": "Nets"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error404"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/stop/delivery/delete/{id}": {
      "post": {
        "summary": "Remove delivery stops",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nIt is possible to delete a future stopp, i.e the stop periode can not be activated.\n\nThe endpoint returns a list of remaining furture stops after removed the furture stop you have chosen.",
        "tags": [
          "DeliveryStop"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique id for the stop you want to delete.",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemoveDeliveryStops-response"
                },
                "example": {
                  "deliveryStops": [
                    {
                      "id": 1,
                      "product": "CO27409",
                      "stopTime": 1561121761000,
                      "stopEndTime": 1561985761000,
                      "stopType": "temporary"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/stop/delivery": {
      "post": {
        "summary": "Register delivery stops",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nStop API for stopping delivery to a customer permanently or temporary.",
        "tags": [
          "DeliveryStop"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterDeliveryStops-request"
              },
              "example": {
                "deliveryStop": {
                  "id": 1,
                  "product": "CO27409",
                  "stopTime": 1561121761000,
                  "stopEndTime": 1561985761000,
                  "stopType": "temporary",
                  "deliveryStopChannel": "EMAIL",
                  "deliveryStopReason": "BS"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterDeliveryStops-response"
                },
                "example": {
                  "deliveryStops": {
                    "id": 1,
                    "product": "CO27409",
                    "stopTime": 1561121761000,
                    "stopEndTime": 1561985761000,
                    "stopType": "temporary",
                    "deliveryStopChannel": "EMAIL",
                    "deliveryStopReason": "BS"
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": " Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/stop/delivery/{productCode}": {
      "get": {
        "summary": "List delivery stops",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI is used to get stop registered on customer.",
        "tags": [
          "DeliveryStop"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "Product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListDeliveryStops"
                },
                "example": {
                  "deliveryStops": [
                    {
                      "id": 1,
                      "product": "CO27409",
                      "stopTime": 1561121761000,
                      "stopEndTime": 1561985761000,
                      "stopType": "temporary",
                      "deliveryStopChannel": "BS",
                      "deliveryStopReason": "CS"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/product/stop/delivery/{customerNumber}/{productCode}": {
      "get": {
        "summary": "List delivery stop - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nAPI is used to get stop registered on customer.\n",
        "tags": [
          "DeliveryStop"
        ],
        "parameters": [
          {
            "name": "customerNumber",
            "in": "path",
            "description": "Customer number linked to product delivery\r\n",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "productCode",
            "in": "path",
            "description": "Product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListDeliveryStops"
                },
                "example": {
                  "deliveryStops": [
                    {
                      "id": 1,
                      "product": "CO27409",
                      "stopTime": 1561121761000,
                      "stopEndTime": 1561985761000,
                      "stopType": "temporary",
                      "deliveryStopChannel": "BS",
                      "deliveryStopReason": "CS"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            },
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/delivery/complaint": {
      "post": {
        "summary": "Register complaint",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nAPI is used to register a new complaint.",
        "tags": [
          "Complaint"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterComplaint-request"
              },
              "example": {
                "product": "CO27409",
                "issue": "2019-63",
                "complaintAction": "14",
                "createPostDistribution": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Complaint-response"
                },
                "example": {
                  "product": "CO27409",
                  "complaintActions": [
                    {
                      "complaintCode": "14",
                      "description": "Wrong Magazine",
                      "postDistribution": "Y"
                    }
                  ],
                  "complaints": [
                    {
                      "issue": "2019-63",
                      "existingComplaint": "N"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/delivery/complaint/{product}": {
      "get": {
        "summary": "List complaints",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nComplaint API used to get possible complaints.",
        "tags": [
          "Complaint"
        ],
        "parameters": [
          {
            "name": "product",
            "in": "path",
            "description": "productcode",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Complaint-response"
                },
                "example": {
                  "product": "CO27409",
                  "complaintActions": [
                    {
                      "complaintCode": "14",
                      "description": "Wrong Magazine",
                      "postDistribution": "Y"
                    }
                  ],
                  "complaints": [
                    {
                      "issue": "2019-63",
                      "existingComplaint": "N"
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/issues/{productCode}": {
      "get": {
        "summary": "List distributed issues",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API returns customer issues for subscription product.",
        "tags": [
          "Issue"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "Response includes issues for selected subscription product.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDistributedIssues-response"
                },
                "example": {
                  "deliveredIssues": [
                    {
                      "issue": "2023-12",
                      "distributedDate": 1698879600000
                    },
                    {
                      "issue": "2024-01",
                      "distributedDate": 1701471600000
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/issues/{productId}": {
      "get": {
        "summary": "List product issues - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API returns all issues for subscription products. If product is a series product, all issues for series is return. If ordinary subscription product, all issues within one year is returned (i.e one year from current time).",
        "tags": [
          "Issue"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "Product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "If date is specified, then from this date will be issues returned (if to date is not specified then will be one year from that date ).\r\n\r\n Specify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "If date is specified then up this date will be returned issues (if from date is not specified then will be one year before that date).\r\n\r\nSpecify the date in format: YYYY-MM-DD.",
            "required": false,
            "schema": {
              "maxLength": 10,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListIssuesClientMode-response"
                },
                "example": {
                  "issues": [
                    {
                      "productId": "CO27409",
                      "productType": "subscription",
                      "subscriptionIssues": [
                        {
                          "issue": "2024-01",
                          "publicationDate": 1706223600000,
                          "distributionPlannedDate": 1704150000000,
                          "distributionDate": 1704150000000
                        },
                        {
                          "issue": "2024-02",
                          "publicationDate": 1708902000000,
                          "distributionPlannedDate": 1706828400000
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/product": {
      "get": {
        "summary": "List products - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n",
        "tags": [
          "Product"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "query",
            "description": "Only return info about one product",
            "required": false,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "shop",
            "in": "query",
            "description": "Informs if a product is available for web shop.\n\n- **true**: The product is available for web shop.\n- **false**: The product is unavailable for web shop.",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Product"
                },
                "example": {
                  "products": [
                    {
                      "companyCode": "468979834",
                      "product": "CO27409",
                      "description": "This is a product",
                      "productType": "magazine",
                      "startTime": 1560336440000,
                      "endTime": 1591958840000,
                      "weight": 99.9,
                      "campaigns": "New",
                      "currency": "NOK",
                      "webOfferPrice": 89.9,
                      "retailPrice": 67.75,
                      "vatPercent": 0,
                      "digital": false
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Check product - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n",
        "tags": [
          "Product"
        ],
        "parameters": [
          {
            "name": "shop",
            "in": "query",
            "description": "Informs if a product is available for web shop.\n\n- **true**: The product is available for web shop.\n- **false**: The product is unavailable for web shop.",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckProductClientMode-request"
              },
              "example": {
                "changedAfter": 1550336440000,
                "onlyActive": true
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Product"
                },
                "example": {
                  "products": [
                    {
                      "companyCode": "468979834",
                      "product": "CO27409",
                      "description": "This is a product",
                      "productType": "magazine",
                      "startTime": 1560336440000,
                      "endTime": 1591958840000,
                      "weight": 99.9,
                      "campaigns": "New",
                      "currency": "NOK",
                      "webOfferPrice": 89.9,
                      "retailPrice": 67.75,
                      "vatPercent": 0,
                      "digital": false
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/product/{productType}": {
      "get": {
        "summary": "List specific products  - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n",
        "tags": [
          "Product"
        ],
        "parameters": [
          {
            "name": "productType",
            "in": "path",
            "description": "Possible value: subscription.",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "productId",
            "in": "query",
            "description": "Only return info about one product",
            "required": false,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "shop",
            "in": "query",
            "description": "Informs if a product is available for web shop.\n\n- **true**: The product is available for web shop.\n- **false**: The product is unavailable for web shop.",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Product"
                },
                "example": {
                  "products": [
                    {
                      "companyCode": "468979834",
                      "product": "CO27409",
                      "description": "This is a product",
                      "productType": "magazine",
                      "startTime": 1560336440000,
                      "endTime": 1591958840000,
                      "weight": 99.9,
                      "campaigns": "New",
                      "currency": "NOK",
                      "webOfferPrice": 89.9,
                      "retailPrice": 67.75,
                      "vatPercent": 0,
                      "digital": false
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/product/delivery/{productCode}": {
      "get": {
        "summary": "List next distributions",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nDelivery API for extracting basic information about next issue to be distributed for a given product.",
        "tags": [
          "Delivery"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListNextDistributions"
                },
                "example": {
                  "nextDistribution": {
                    "issue": "2019-07",
                    "deliveryDate": 1562277600000,
                    "distributionDate": 1562018400000
                  },
                  "nextDelivery": {
                    "issue": "2019-06",
                    "deliveryDate": 1559772000000,
                    "distributionDate": 1559512800000
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/delivery/{productCode}": {
      "get": {
        "summary": "List next distributions - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nDelivery API for extracting basic information about next issue to be distributed for a given product.",
        "tags": [
          "Delivery"
        ],
        "parameters": [
          {
            "name": "productCode",
            "in": "path",
            "description": "product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ListNextDistributions"
                },
                "example": {
                  "nextDistribution": {
                    "issue": "2019-07",
                    "deliveryDate": 1562277600000,
                    "distributionDate": 1562018400000
                  },
                  "nextDelivery": {
                    "issue": "2019-06",
                    "deliveryDate": 1559772000000,
                    "distributionDate": 1559512800000
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/productdeliveryplan/{productdeliveryplanId}": {
      "get": {
        "summary": "List productdeliveryplan - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThe API specifies when the subscriber has digital access and/or physical delivery.\n\n",
        "tags": [
          "ProductDeliveryPlan"
        ],
        "parameters": [
          {
            "name": "productdeliveryplanId",
            "in": "path",
            "description": "The unique id for productdeliveryplan",
            "required": true,
            "example": 0,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListproductdeliveryplanClientMode-response"
                },
                "example": {
                  "productDeliveryPlanId": 90,
                  "planName": "Leveringsplan",
                  "monday": "fullAccessAndDelivery",
                  "tuesday": "onlyPhysicalDelivery",
                  "wednesday": "onlyDigitalAccess",
                  "thursday": "onlyPhysicalDelivery",
                  "friday": "fullAccessAndDelivery",
                  "saturday": "noAccessOrDelivery",
                  "sunday": "onlyDigitalAccess"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/productdependency/discount": {
      "post": {
        "summary": "Check product dependency discount - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nCheck if any product dependency grant some discount or not on given products.",
        "tags": [
          "ProductDependency"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckProductDependencyDiscount-request"
              },
              "example": [
                {
                  "productCodes": [
                    {
                      "productCode": "Prod1"
                    },
                    {
                      "productCode": "Prod2"
                    }
                  ],
                  "customerNumber": 76
                }
              ]
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckProductDependencyDiscount-response"
                },
                "example": {
                  "productsWithDiscount": [
                    {
                      "productCode": "PROD1",
                      "percentDiscount": 5
                    },
                    {
                      "productCode": "PROD2",
                      "percentDiscount": 0
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/recruitment": {
      "post": {
        "summary": "Register recruitment - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nUse this API to register recruitments. The recruiter and the persons recruited are created in Connect. A recruitment is processed as an order in Connect.",
        "tags": [
          "Recruitment"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterRecruitmentClientMode-request"
              },
              "example": {
                "product": "CO27409",
                "campaign": "Spring2019",
                "recruiter": {
                  "name": {
                    "firstName": "Kari",
                    "middleName": "Snøhaug",
                    "lastName": "Nordmann"
                  },
                  "address": {
                    "streetAddress": "Osloveien",
                    "streetNumber": 12,
                    "entrance": "B",
                    "floor": 3,
                    "postalCode": "0101",
                    "postalPlace": "Oslo",
                    "postalAddress": "Postboks 6",
                    "postalAddressPostalCode": "0216",
                    "postalAddressPostalPlace": "Oslo",
                    "countryCode": "NO"
                  },
                  "phoneNumber": "+4787654321",
                  "email": "kari.nordmann@gmail.com"
                },
                "recruitmentPremiumPreferences": [
                  {
                    "companyCode": "468979834",
                    "product": "HS3829",
                    "preferenceNumber": 1
                  }
                ],
                "recruitments": [
                  {
                    "name": {
                      "firstName": "Ola",
                      "middleName": "Fjordstrand",
                      "lastName": "Nordmann",
                      "companyName": "Company International Ltd",
                      "departmentName": "Support"
                    },
                    "address": {
                      "streetAddress": "Grubbegata",
                      "streetNumber": 6,
                      "entrance": "A",
                      "floor": 6,
                      "postalCode": 179,
                      "postalPlace": "Oslo",
                      "postalAddress": "Postboks 265 Økern",
                      "postalAddressPostalCode": "0510",
                      "postalAddressPostalPlace": "Oslo",
                      "countryCode": "NO"
                    },
                    "couponCode": "WMDigi",
                    "couponNumber": 5223,
                    "amount": 1,
                    "quantity": 1,
                    "phoneNumber": "+4712345678",
                    "email": "ola.nordmann@company.com"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-RegisterRecruitment-response"
                },
                "example": {
                  "status": "ok"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/recruitment/{campaign}": {
      "get": {
        "summary": "List recruitments",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API for fetching existing recruitments and available points.",
        "tags": [
          "Recruitment"
        ],
        "parameters": [
          {
            "name": "campaign",
            "in": "path",
            "description": "Campaign code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of records returned.",
            "required": false,
            "schema": {
              "default": 50,
              "type": "integer"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Offset the records returned. ",
            "required": false,
            "schema": {
              "default": 0,
              "type": "integer"
            }
          },
          {
            "name": "ascending",
            "in": "query",
            "description": "Sort ascending or descending.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListRecruitment-response"
                },
                "example": {
                  "points": 50,
                  "products": [
                    "CO27409"
                  ],
                  "recruitments": [
                    {
                      "recruited": 1,
                      "product": "CO27409",
                      "active": true,
                      "recruitedDate": 1560524119000,
                      "points": 42
                    }
                  ],
                  "unverifiedRecruitments": [
                    {
                      "product": "29452",
                      "recruitedDate": 1550678119000,
                      "status": "Ubehandlet",
                      "points": 34
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/recruitment/premium/{campaign}": {
      "get": {
        "summary": "List premium recruitments",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API for premium preferences.",
        "tags": [
          "Recruitment"
        ],
        "parameters": [
          {
            "name": "campaign",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-PremiumRecruitments-response"
                },
                "example": {
                  "recruitmentPremiumPreferences": [
                    {
                      "companyCode": "468979834",
                      "product": "HS3829",
                      "preferenceNumber": 3
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Change premium recruitments",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API for updating premium preference.\n\nNOTE: Any existing premium preferences on this recruiter will be deleted before the POSTed data is applied",
        "tags": [
          "Recruitment"
        ],
        "parameters": [
          {
            "name": "campaign",
            "in": "path",
            "description": "",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePremiumRecruitments-request"
              },
              "example": {
                "recruitmentPremiumPreferences": {
                  "companyCode": "468979834",
                  "product": "HS3829",
                  "preferenceNumber": 3
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-PremiumRecruitments-response"
                },
                "example": {
                  "recruitmentPremiumPreferences": [
                    {
                      "companyCode": "468979834",
                      "product": "HS3829",
                      "preferenceNumber": 3
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/recruitment": {
      "post": {
        "summary": "Register recruitments",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nUse this API to register recruitments. The recruiter and the persons recruited are created in Connect. A recruitment is processed as an order in Connect.\n\n* If the recruiter, i.e the ConnectID user, is registered to a customer in Connect, we use this customer as the recruiter. In this case we ignore the recruiter information given in the request (i.e name and address).\n* Otherwise the recruiter is created in Connect if no matching customer is found.",
        "tags": [
          "Recruitment"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterRecruitments-request"
              },
              "example": "{\n    \"product\": \"CO27409\",\n    \"campaign\": \"Spring2019\",\n    \"recruiter\": {\n        \"name\": {\n            \"firstName\": \"Kari\",\n            \"middleName\": \"Snøhaug\",\n            \"lastName\": \"Nordmann\"\n        },\n        \"address\": {\n            \"streetAddress\": \"Osloveien\",\n            \"streetNumber\": 12,\n            \"entrance\": \"B\",\n            \"floor\": 3,\n            \"postalCode\": \"0101\",\n            \"postalPlace\": \"Oslo\",\n            \"postalAddress\": \"Postboks 6\",\n            \"postalAddressPostalCode\": \"0216\",\n            \"postalAddressPostalPlace\": \"Oslo\",\n            \"countryCode\": \"NO\"\n        },\n        \"phoneNumber\": \"+4787654321\",\n        \"email\": \"kari.nordmann@gmail.com\"\n        \"customerNumber\": 34272\n    },\n    \"recruitmentPremiumPreferences\": [\n        {\n            \"companyCode\": \"468979834\",\n            \"product\": \"HS3829\",\n            \"preferenceNumber\": 1\n        }\n    ],\n    \"recruitments\": [\n        {\n            \"name\": {\n                \"firstName\": \"Ola\",\n                \"middleName\": \"Fjordstrand\",\n                \"lastName\": \"Nordmann\",\n                \"companyName\": \"Company International Ltd\",\n                \"departmentName\": \"Support\"\n            },\n            \"address\": {\n                \"streetAddress\": \"Grubbegata\",\n                \"streetNumber\": 6,\n                \"entrance\": \"A\",\n                \"floor\": 6,\n                \"postalCode\": \"0179\",\n                \"postalPlace\": \"Oslo\",\n                \"postalAddress\": \"Postboks 265 Økern\",\n                \"postalAddressPostalCode\": \"0510\",\n                \"postalAddressPostalPlace\": \"Oslo\",\n                \"countryCode\": \"NO\"\n            },\n            \"couponCode\": \"Datanews\",\n            \"couponNumber\": 1,\n            \"amount\": 100,\n            \"quantity\": 1,\n            \"phoneNumber\": \"+4712345678\",\n            \"email\": \"ola.nordmann@company.com\"\n        }\n    ]\n}"
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-RegisterRecruitment-response"
                },
                "example": {
                  "status": "ok"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/recruitment/campaign/{campaignCode}": {
      "get": {
        "summary": "List recruitment campaign - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nUse this API for getting recruitment campaign info. You will get points for each recruitment product whitin a company and a recruit campaign.",
        "tags": [
          "RecruitmentCampaign"
        ],
        "parameters": [
          {
            "name": "campaignCode",
            "in": "path",
            "description": "Specific campaign code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          },
          {
            "name": "companyCode",
            "in": "query",
            "description": "Specific company code",
            "required": false,
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListRecruitmentCampaignClientMode-response"
                },
                "example": {
                  "campaignItems": [
                    {
                      "campaignCode": "Spring2024",
                      "campaignDescription": "The offer for spring 2024.",
                      "companyItems": [
                        {
                          "companyCode": "Important News International",
                          "companyDescription": "A group of Companies"
                        }
                      ],
                      "productItems": [
                        {
                          "productCode": "CO27409",
                          "productDescription": "",
                          "points": 50
                        }
                      ]
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/access": {
      "post": {
        "summary": "Check access",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nThis API returns accesses for given user.\n\nThe access can be given on several levels. You may have access based on `product`subscription, `domain`, `ip` address, specific `article` or `categoryType` that was bought. You also have access based on use of AzureAd, AidFamily, `uniqueId` (from Profle API) or `customerNumber` and `credential`.\n\nNOTE: If you send a request with two or more fields, then it has to match with them all. If you are checking access based on other than `IP`, then it is required to send `uniqueId` or `credential` together with that field.",
        "tags": [
          "Access"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-CheckAccess-request"
              },
              "example": {
                "product": "CO27409",
                "articleId": "578943434",
                "domain": "unite.as",
                "ip": "127.0.0.1",
                "categoryType": "SWISH",
                "accessAzureAd": true,
                "accessAidFamily": true,
                "uniqueId": "6ba7b8149dad11d180b400c04fd430c8",
                "customerNumber": 563457,
                "credential": "+4723339100"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-CheckAccess-response"
                },
                "examples": {
                  "1": {
                    "summary": "Example 1",
                    "value": {
                      "access": true,
                      "accesses": [
                        {
                          "access": false,
                          "accessLevel": "C",
                          "accessType": "D"
                        },
                        {
                          "access": true,
                          "accessLevel": "B",
                          "accessType": "A"
                        }
                      ]
                    }
                  },
                  "2": {
                    "summary": "Example product delivery plan",
                    "value": {
                      "access": true,
                      "accesses": [
                        {
                          "access": true,
                          "accessLevel": "A",
                          "accessType": "A",
                          "accessTypeDetail": {
                            "productDeliveryPlan": {
                              "productDeliveryPlanId": 1,
                              "monday": false,
                              "tuesday": false,
                              "wednesday": true,
                              "thursday": false,
                              "friday": false,
                              "saturday": true,
                              "sunday": false
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/access": {
      "post": {
        "summary": "Check access - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API returns accesses for given user. The access can be given on several levels.\n\nYou may have access based on `product`subscription, `domain`, `ip` address, specific `article` or `categoryType` that was bought. You also have access based on use of AzureAd, AidFamily, `uniqueId` (from Profle API) or `customerNumber` and `credential`.\n\nNOTE: If you send a request with two or more fields, then it has to match with them all. If you are checking access based on other than IP, then it is required to send `uniqueId` or `credential` together with that field.",
        "tags": [
          "Access"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-CheckAccess-request"
              },
              "example": {
                "product": "CO27409",
                "articleId": "578943434",
                "domain": "unite.as",
                "ip": "127.0.0.1",
                "categoryType": "SWISH",
                "accessAzureAd": true,
                "accessAidFamily": true,
                "uniqueId": "6ba7b8149dad11d180b400c04fd430c8",
                "customerNumber": 563457,
                "credential": "+4723339100"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-CheckAccess-response"
                },
                "examples": {
                  "1": {
                    "summary": "Example 1",
                    "value": {
                      "access": true,
                      "accesses": [
                        {
                          "access": false,
                          "accessLevel": "C",
                          "accessType": "D"
                        },
                        {
                          "access": true,
                          "accessLevel": "A",
                          "accessType": "A"
                        }
                      ]
                    }
                  },
                  "2": {
                    "summary": "Example product delivery plan",
                    "value": {
                      "access": true,
                      "accesses": [
                        {
                          "access": true,
                          "accessLevel": "A",
                          "accessType": "A",
                          "accessTypeDetail": {
                            "productDeliveryPlan": {
                              "productDeliveryPlanId": 1,
                              "monday": false,
                              "tuesday": false,
                              "wednesday": true,
                              "thursday": false,
                              "friday": false,
                              "saturday": true,
                              "sunday": false
                            }
                          }
                        }
                      ]
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/credential/check": {
      "post": {
        "summary": "Check credential - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nCredential check",
        "operationId": "credentialclient",
        "tags": [
          "Credential"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CheckCredentialClientMode-request"
              },
              "example": {
                "credentials": [
                  "+4787654321",
                  "kari.nordmann@gmail.com"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckCredentialClientMode-response"
                },
                "example": {
                  "credentials": [
                    {
                      "credential": "+4787654321",
                      "credentialType": "B",
                      "canLogIn": true,
                      "hasCustomerNumber": true
                    },
                    {
                      "credential": "kari.nordmann@gmail.com",
                      "credentialType": "A",
                      "canLogIn": true,
                      "hasCustomerNumber": true
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/metadata": {
      "get": {
        "summary": "List metadata",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nGeneral API for storing metadata. The client can add custom data not found in ConnectID/Connect. By using GET-request you may see the data that are stored.",
        "tags": [
          "Metadata"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Metadata"
                },
                "example": {
                  "foo": "some text"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Change metadata",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nGeneral API for storing metadata. The client can add custom data not found in ConnectID/Connect. Clients will have to send the complete JSON-object when updating.",
        "tags": [
          "Metadata"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-Metadata"
              },
              "example": {
                "foo": "some text"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Metadata"
                },
                "example": {
                  "foo": "some text"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": " Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Remove metadata",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nGeneral API for storing metadata. The client can add custom data not found in ConnectID/Connect. Clients will have to send the complete JSON-object when updating. Use this API to delete the objects.",
        "tags": [
          "Metadata"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Metadata"
                },
                "example": {
                  "foo": "some text"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": []
          }
        ]
      }
    },
    "/v1/client/user/metadata": {
      "get": {
        "summary": "List metadata - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nGeneral API for storing metadata. The client can add custom data not found in ConnectID/Connect. By using GET-request you may see the data that are stored.",
        "tags": [
          "Metadata"
        ],
        "parameters": [
          {
            "name": "userUniqueId",
            "in": "query",
            "description": "A unique ID for this user which will never change. Same as uniqueId in List user profile API.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Metadata"
                },
                "example": {
                  "foo": "some text"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Change metadata - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nGeneral API for storing metadata. The client can add custom data not found in ConnectID/Connect. Clients will have to send the complete JSON-object when updating.",
        "tags": [
          "Metadata"
        ],
        "parameters": [
          {
            "name": "userUniqueId",
            "in": "query",
            "description": "A unique ID for this user which will never change. Same as uniqueId in List user profile API.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Model-Metadata"
              },
              "example": {
                "foo": "some text"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Metadata"
                },
                "example": {
                  "foo": "some text"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": " Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      },
      "delete": {
        "summary": "Remove metadata - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\nGeneral API for storing metadata. The client can add custom data not found in ConnectID/Connect. Use this API to delete the objects.",
        "tags": [
          "Metadata"
        ],
        "parameters": [
          {
            "name": "userUniqueId",
            "in": "query",
            "description": "A unique ID for this user which will never change. Same as uniqueId in List user profile API.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Metadata"
                },
                "example": {
                  "foo": "some text"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/user/profile": {
      "get": {
        "summary": "List user profile",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nProfile API for extracting basic information about the useraccount.",
        "operationId": "user-profile",
        "tags": [
          "Profile"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListUserProfile-response"
                },
                "example": {
                  "uniqueId": "6ba7b8149dad11d180b400c04fd430c8",
                  "loginCredential": {
                    "credential": "ola.nordmann@hotmail.no",
                    "credentialType": "email",
                    "verificationLevel": "verificationCode"
                  },
                  "userCredentials": [
                    {
                      "credential": "ola.nordmann@hotmail.no",
                      "credentialType": "email",
                      "verificationLevel": "verificationCode"
                    },
                    {
                      "credential": "+4723339100",
                      "credentialType": "phone",
                      "verificationLevel": "verificationCode"
                    }
                  ],
                  "name": {
                    "firstName": "Ola",
                    "lastName": "Nordmann"
                  },
                  "phoneNumbers": [
                    {
                      "phoneNumber": "+4723339100",
                      "phoneNumberType": "company"
                    },
                    {
                      "phoneNumber": "+4712345678",
                      "phoneNumberType": "personal"
                    }
                  ],
                  "emails": [
                    "ola.nordmann@hotmail.no",
                    "ola.nordmann@company.com"
                  ],
                  "externalSources": [
                    "Vipps"
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/user/profile/external": {
      "get": {
        "summary": "List external user profiles",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nProfile API for extracting basic information about the useraccount from external sources.",
        "tags": [
          "Profile"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListUserExternalProfiles-response"
                },
                "example": {
                  "externalProfileList": [
                    {
                      "source": "Vipps",
                      "info": {
                        "birthDate": 917823600000,
                        "name": {
                          "firstName": "Ola",
                          "lastName": "Nordmann"
                        },
                        "phoneNumbers": [
                          "+4748060317"
                        ],
                        "emails": [
                          "ola.nordmann@hotmail.no"
                        ],
                        "addresses": [
                          {
                            "addressType": "work",
                            "streetAddress": "Grubbegata 6",
                            "postalCode": 179,
                            "postalPlace": "Oslo",
                            "countryCode": "NO"
                          },
                          {
                            "addressType": "home",
                            "streetAddress": "Postboks 6300, ETTERSTAD",
                            "postalCode": "0603",
                            "postalPlace": "Oslo",
                            "countryCode": "NO"
                          },
                          {
                            "addressType": "other",
                            "streetAddress": "Møllergata 3",
                            "postalCode": 179,
                            "postalPlace": "Oslo",
                            "countryCode": "NO"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/extid": {
      "post": {
        "summary": "Register external Id - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API is to ensure that the external Id is registered in ConnectID. The API will do a look up for the existence of the `externalId` in ConnectID. In addition, a check will be performed to see if the external id is connected to a customer in Connect. First time this API is called for an external id, a user handle will be created in ConnectID and the data stored on the external id will be returned. `customerNumber` is only returned if was set previously on this `externalId`. The API returns basic information associated for the external id.\n\n",
        "operationId": "extId",
        "tags": [
          "External Identity"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterExternalIdClientMode-request"
              },
              "example": {
                "externalId": "59cb6372-d3db-11e5-ab30-625662870761",
                "credentialType": "D"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ExternalIdentity-response"
                },
                "example": {
                  "credential": "AID:59cb6372-d3db-11e5-ab30-625662870761",
                  "externalId": "59cb6372-d3db-11e5-ab30-625662870761",
                  "credentialType": "D",
                  "canLogin": true,
                  "customerNumber": 327492,
                  "uniqueId": "681b86aac2cf44ecb13eeb48cb3a7b7d",
                  "enabled": true,
                  "newUser": false,
                  "extidCode": "eyJhbGciOiJIUzUxMiJ9.....eyJjdCI6IkRfQ"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/extid/customer": {
      "post": {
        "summary": "Register customer - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nThis API is used to associate a Connect customer with an external id previously registered in ConnectID. Based on this data, the user handle will be created or returned if it already exists. This API returns the same response data as the register external id API. It can be sent as the next API call after register external id API, to associate `externalId` with `customerNumber` in Connect.",
        "tags": [
          "External Identity"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterCustomerClientMode-request"
              },
              "example": {
                "externalId": "59cb6372-d3db-11e5-ab30-625662870761",
                "credentialType": "D",
                "customerNumber": 327492
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-ExternalIdentity-response"
                },
                "example": {
                  "credential": "AID:59cb6372-d3db-11e5-ab30-625662870761",
                  "externalId": "59cb6372-d3db-11e5-ab30-625662870761",
                  "credentialType": "D",
                  "canLogin": false,
                  "uniqueId": "681b86aac2cf44ecb13eeb48cb3a7b7d",
                  "enabled": false,
                  "newUser": true,
                  "extidCode": "eyJhbGciOiJIUzUxMiJ9.....eyJjdCI6IkRfQ"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/message": {
      "get": {
        "summary": "List messages",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nMessage API for send message to customer service and to see messages created by customer in self service.",
        "tags": [
          "Message"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Message-response"
                },
                "example": {
                  "messages": [
                    {
                      "id": 7,
                      "date": 1560763683000,
                      "direction": "IN",
                      "messageSubject": "creditcard",
                      "messageContent": "Can I pay with creditcard?"
                    },
                    {
                      "id": 7,
                      "date": 1560855204000,
                      "direction": "OUT",
                      "messageSubject": "creditcard",
                      "messageContent": "Yes, you can."
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      },
      "post": {
        "summary": "Send message",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nMessage API for send message to customer service.",
        "tags": [
          "Message"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendMessage-request"
              },
              "example": {
                "product": "CO27409",
                "caseType": "B",
                "messageSubject": "cancel",
                "messageContent": "Cancel my subscription"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Message-response"
                },
                "example": {
                  "messages": [
                    {
                      "id": 6,
                      "date": 1560763683000,
                      "direction": "IN",
                      "messageSubject": "cancel",
                      "messageContent": "Cancel my subscription"
                    },
                    {
                      "id": 6,
                      "date": 1560855204000,
                      "direction": "OUT",
                      "messageSubject": "creditcard",
                      "messageContent": "Your subscription is canceled."
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/message": {
      "post": {
        "summary": "Send message - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nMessage API to send message to customer service.",
        "tags": [
          "Message"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendMessageClientMode-Request"
              },
              "example": {
                "product": "CO27409",
                "caseType": "B",
                "messageSubject": "cancel",
                "messageContent": "Cancel my subscription"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Model-Message-response"
                },
                "example": {
                  "messages": [
                    {
                      "id": 6,
                      "date": 1560763683000,
                      "direction": "IN",
                      "messageSubject": "cancel",
                      "messageContent": "Cancel my subscription"
                    },
                    {
                      "id": 6,
                      "date": 1560855204000,
                      "direction": "OUT",
                      "messageSubject": "creditcard",
                      "messageContent": "Your subscription is canceled."
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "VALIDATION",
                  "errorMessage": "Error message here, e.g. missing field"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                },
                "example": {
                  "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
                  "exceptionType": "SEVERE",
                  "errorMessage": "Error message here, i.e unhandled exception"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/customer/status/{product}": {
      "get": {
        "summary": "List status messages",
        "deprecated": false,
        "description": "The user needs to be logged in to use this endpoint, [click here](mediaconnect-api-reference-934439m0#about-the-api) to read more.\n\nStatus API to get various status messages for customer and product.",
        "tags": [
          "Status"
        ],
        "parameters": [
          {
            "name": "product",
            "in": "path",
            "description": "Product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListStatusMessage-response"
                },
                "example": {
                  "statusMessages": [
                    {
                      "statusMessage": "Dear Customer, thanks for your feedback."
                    }
                  ]
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Authorization_Code_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/stock/update": {
      "post": {
        "summary": "Change stocks - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n",
        "tags": [
          "Stock"
        ],
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeStocksClientMode-request"
              },
              "example": {
                "updates": [
                  {
                    "warehouseId": 120,
                    "warehouseProductId": "House24",
                    "stockQuantity": 26,
                    "status": "expired"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeStocksClientMode-response"
                },
                "example": {
                  "status": "ok"
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/stock": {
      "get": {
        "summary": "List stocks - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nStock information for all (relevant) products.",
        "tags": [
          "Stock"
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListStocksClientMode-response"
                },
                "examples": {
                  "1": {
                    "summary": "Success",
                    "value": {
                      "productId": "CO27409",
                      "stockQuantity": 100,
                      "status": "instock"
                    }
                  },
                  "2": {
                    "summary": "Success",
                    "value": {
                      "productId": "29452",
                      "stockQuantity": 200,
                      "status": "expired"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    },
    "/v1/client/stock/{productId}": {
      "get": {
        "summary": "List stocks for product - client mode",
        "deprecated": false,
        "description": "Only the client needs to be logged in to use this endpoint. The user does not need to be logged in, [click here](mediaconnect-api-reference-934439m0#about-the-client-mode) to read more.\n\nStock information for a single product.",
        "tags": [
          "Stock"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "Product code",
            "required": true,
            "example": "",
            "schema": {
              "maxLength": 12,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListStocksClientMode-response"
                },
                "examples": {
                  "1": {
                    "summary": "Success",
                    "value": {
                      "productId": "CO27409",
                      "stockQuantity": 100,
                      "status": "instock"
                    }
                  },
                  "2": {
                    "summary": "Success",
                    "value": {
                      "productId": "29452",
                      "stockQuantity": 200,
                      "status": "expired"
                    }
                  }
                }
              }
            },
            "headers": {}
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error400"
                }
              }
            },
            "headers": {}
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {}
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error500"
                }
              }
            },
            "headers": {}
          }
        },
        "security": [
          {
            "Client_Credentials_Production": [
              "read"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "RemovePrivateData-request": {
        "description": "",
        "required": [
          "sendReceipt"
        ],
        "type": "object",
        "properties": {
          "sendReceipt": {
            "description": "Says if there is need to send receipt message to customer on email/sms\n\n- **true**: Customer need receipt.\n- **false**: Customer does not need receipt.",
            "type": "boolean"
          }
        }
      },
      "AccessPrivateData-request": {
        "description": "",
        "required": [
          "sendReceipt"
        ],
        "type": "object",
        "properties": {
          "sendReceipt": {
            "description": "Says if there is need to send receipt message to customer on email/sms\n\n- **true**: Customer need receipt.\n- **false**: Customer does not need receipt.",
            "type": "boolean"
          }
        }
      },
      "Model-RegisterRecruitment-response": {
        "description": "",
        "type": "object",
        "properties": {
          "status": {
            "description": "The value \"ok\" if the request was received and processed successfully.",
            "type": "string"
          }
        }
      },
      "Model-ConsentAccess-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "Status of creating a workflow case in Connect.\n\n- **true**:  The workflow case was created in Connect.\n- **false**: The workflow case was not created in Connect.",
            "type": "boolean"
          },
          "receiptSend": {
            "description": "Status of sending a receipt to the customer for created workflow case in Connect.\n\n- **true**: A receipt was sent to the customer.\n- **false**: The customer did not ask for receipt or an exception has occured.",
            "type": "boolean"
          }
        }
      },
      "Model-Metadata": {
        "description": "",
        "type": "object",
        "properties": {
          "foo": {
            "type": "string"
          }
        }
      },
      "CheckCustomerNumberClientMode-request": {
        "description": "",
        "required": [
          "credentials"
        ],
        "type": "object",
        "properties": {
          "credentials": {
            "description": "List of credentials to check",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ChangeStocksClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "status": {
            "description": "The value “ok” if the request was received successfully.",
            "type": "string",
            "example": "ok"
          }
        }
      },
      "ListStatusMessage-response": {
        "description": "",
        "type": "object",
        "properties": {
          "statusMessages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "statusMessage": {
                  "description": "Describing text",
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Model-Address": {
        "title": "Address",
        "type": "object",
        "properties": {
          "careOfAddress": {
            "description": "The C/O for this address",
            "maxLength": 40,
            "type": "string"
          },
          "streetAddress": {
            "description": "The street for this address",
            "maxLength": 40,
            "type": "string"
          },
          "streetNumber": {
            "description": "The street number for this address",
            "type": "integer"
          },
          "entrance": {
            "description": "The entrance for this address",
            "maxLength": 12,
            "type": "string"
          },
          "floor": {
            "description": "The floor for this address",
            "type": "integer"
          },
          "suite": {
            "description": "The suite for this address",
            "maxLength": 10,
            "type": "string"
          },
          "postalCode": {
            "description": "The postal code for this address",
            "maxLength": 10,
            "type": "string"
          },
          "postalPlace": {
            "description": "The postal place for this address",
            "maxLength": 30,
            "type": "string"
          },
          "postalAddress": {
            "description": "The postal address for this address",
            "maxLength": 40,
            "type": "string"
          },
          "postalAddressPostalCode": {
            "description": "The postal code for this address's postal address",
            "maxLength": 10,
            "type": "string"
          },
          "postalAddressPostalPlace": {
            "description": "The postal place for this address's postal address",
            "maxLength": 30,
            "type": "string"
          },
          "countryCode": {
            "description": "The country code for this address - [**ISO 3166 - alpha-2**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).",
            "maxLength": 3,
            "type": "string"
          }
        }
      },
      "CheckRewardClientMode-request": {
        "description": "",
        "required": [
          "rewardId",
          "rewardPartnerId"
        ],
        "type": "object",
        "properties": {
          "rewardId": {
            "description": "rewardId to check",
            "maxLength": 36,
            "type": "string"
          },
          "rewardPartnerId": {
            "description": "rewardPartnerId to check",
            "type": "integer"
          }
        }
      },
      "CheckRewardClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "customerNumber": {
            "description": "Customer number (found)",
            "type": "integer"
          },
          "product": {
            "description": "Product Code on found reward",
            "maxLength": 12,
            "type": "string"
          },
          "rewardId": {
            "description": "RewardId on found reward",
            "maxLength": 36,
            "type": "string"
          }
        }
      },
      "Model-Pbm-channels": {
        "description": "",
        "type": "object",
        "properties": {
          "channels": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "description": "State for the channel.  Valid values: \n- **PERMISSION**:\n- **SHIELD**:\n- **NONE**:",
                  "enum": [
                    "PERMISSION",
                    "SHIELD",
                    "NONE"
                  ],
                  "type": "string"
                },
                "value": {
                  "description": "Channel code as defined in Connect.",
                  "maxLength": 20,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Model-PrivacyOrdertype": {
        "description": "",
        "type": "object",
        "properties": {
          "permission": {
            "description": "Wrapper for order type level permission/shield.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "purpose": {
                  "description": "Purpose of permission.",
                  "maxLength": 20,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Model-PrivacyEnterprise": {
        "description": "",
        "type": "object",
        "properties": {
          "permission": {
            "description": "Wrapper for enterprise level permission/shield.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "purpose": {
                  "description": "Purpose of permission.",
                  "maxLength": 20,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "RegisterCustomerClientMode-request": {
        "description": "",
        "required": [
          "externalId",
          "credentialType"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "description": "External system unique id that represents user in third part system",
            "maxLength": 60,
            "type": "string"
          },
          "credentialType": {
            "description": "Credential type, for now it is only allowed type:\n* **D**: AID",
            "type": "string"
          },
          "customerNumber": {
            "description": "Customer number for this user",
            "type": "integer"
          }
        }
      },
      "ChangeStocksClientMode-request": {
        "description": "",
        "type": "object",
        "properties": {
          "updates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "warehouseId": {
                  "description": "Warehouse ID in the client database",
                  "type": "integer"
                },
                "warehouseProductId": {
                  "description": "Warehouse product ID",
                  "maxLength": 32,
                  "type": "string"
                },
                "stockQuantity": {
                  "description": "Stock quantity",
                  "type": "number"
                },
                "status": {
                  "description": "Stock status\n* **instock**\n* **blocked**\n* **expired**",
                  "enum": [
                    "instock",
                    "blocked",
                    "expired"
                  ],
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Model-CheckShieldClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "count": {
            "description": "Number of customers found and shielded.",
            "type": "integer"
          }
        }
      },
      "Model-Name": {
        "title": "Name",
        "type": "object",
        "properties": {
          "firstName": {
            "description": "First name",
            "maxLength": 30,
            "type": "string"
          },
          "middleName": {
            "description": "Middle name",
            "maxLength": 30,
            "type": "string"
          },
          "lastName": {
            "description": "Last name",
            "maxLength": 30,
            "type": "string"
          },
          "companyName": {
            "description": "Company name",
            "maxLength": 40,
            "type": "string"
          },
          "departmentName": {
            "description": "Department name",
            "maxLength": 40,
            "type": "string"
          }
        }
      },
      "CheckCustomerNumberClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "customers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "credential": {
                  "description": "Credential (input credential)",
                  "maxLength": 60,
                  "type": "string"
                },
                "customerNumber": {
                  "description": "Customer number (found customernumber)\t",
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "Error500": {
        "description": "",
        "type": "object",
        "properties": {
          "uniqueId": {
            "description": "Unique ID. In some cases we use this id when logging severe errors",
            "type": "string"
          },
          "exceptionType": {
            "description": "Type of exceptions to indicate severity. Types:\n\n- **DUPLICATE_KEY**: The key is already used.\n- **UNKNOWN_ID**: The Id is unknown.\n- **VALIDATION**: The input is not validated.\n- **SEVERE**: This is an unhandled exception, please contact Mediaconnect.",
            "enum": [
              "DUPLICATE_KEY",
              "UNKNOWN_ID",
              "VALIDATION",
              "SEVERE"
            ],
            "type": "string"
          },
          "errorMessage": {
            "description": "A descriptive error message.",
            "type": "string"
          }
        },
        "example": {
          "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
          "exceptionType": "SEVERE",
          "errorMessage": "Error message here, i.e unhandled exception"
        }
      },
      "Error400": {
        "description": "",
        "type": "object",
        "properties": {
          "uniqueId": {
            "description": "Unique ID. In some cases we use this id when logging severe errors",
            "type": "string"
          },
          "exceptionType": {
            "description": "Type of exceptions to indicate severity. Types:\n\n- **DUPLICATE_KEY**: The key is already used.\n- **UNKNOWN_ID**: The Id is unknown.\n- **VALIDATION**: The input is not validated.",
            "enum": [
              "DUPLICATE_KEY",
              "UNKNOWN_ID",
              "VALIDATION"
            ],
            "type": "string"
          },
          "errorMessage": {
            "description": "A descriptive error message.",
            "type": "string"
          }
        },
        "example": {
          "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
          "exceptionType": "VALIDATION",
          "errorMessage": "Error message here, e.g. missing field"
        }
      },
      "Error403": {
        "description": "",
        "type": "object",
        "properties": {
          "uniqueId": {
            "description": "Unique ID. In some cases we use this id when logging severe errors",
            "type": "string"
          },
          "exceptionType": {
            "description": "Type of exceptions to indicate severity. Types:\n- **VALIDATION**: The input is not validated.",
            "enum": [
              "VALIDATION"
            ],
            "type": "string"
          },
          "errorMessage": {
            "description": "A descriptive error message.",
            "type": "string"
          }
        },
        "example": {
          "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
          "exceptionType": "VALIDATION",
          "errorMessage": "Try to narrow down your search with more information."
        }
      },
      "ListVoucherCodeCouponsClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "coupons": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "couponCode": {
                  "description": "Coupon code",
                  "maxLength": 12,
                  "type": "string"
                },
                "couponNumber": {
                  "description": "Coupon number",
                  "type": "integer"
                },
                "description": {
                  "description": "Coupon description",
                  "maxLength": 255,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ChangePaymentMethod-response": {
        "description": "",
        "type": "object",
        "properties": {
          "paymentChangeId": {
            "type": "integer"
          }
        }
      },
      "CheckShieldEnterpriseClientMode-request": {
        "description": "",
        "required": [
          "enterpriseCode",
          "channel",
          "credential"
        ],
        "type": "object",
        "properties": {
          "enterpriseCode": {
            "description": "Enterprise company code",
            "maxLength": 12,
            "type": "string"
          },
          "channel": {
            "description": "Distribution channel code",
            "maxLength": 20,
            "type": "string"
          },
          "credential": {
            "description": "Credential - e.g mobile phonenumber or email address. I.e credential used in ConnectID",
            "maxLength": 60,
            "type": "string"
          }
        }
      },
      "CheckShieldOrdertypeClientMode-request": {
        "description": "",
        "required": [
          "enterpriseCode",
          "orderTypeCode",
          "channel",
          "credential"
        ],
        "type": "object",
        "properties": {
          "enterpriseCode": {
            "description": "Enterprise company code",
            "maxLength": 12,
            "type": "string"
          },
          "orderTypeCode": {
            "description": "Ordertype code",
            "maxLength": 12,
            "type": "string"
          },
          "channel": {
            "description": "Distribution channel code",
            "maxLength": 20,
            "type": "string"
          },
          "credential": {
            "description": "Credential - e.g mobile phonenumber or email address. I.e credential used in ConnectID",
            "maxLength": 60,
            "type": "string"
          }
        }
      },
      "StartSubscription-response": {
        "description": "",
        "type": "object",
        "properties": {
          "status": {
            "description": "Status inicating result of the operation.",
            "type": "string"
          }
        }
      },
      "Model-PhoneNumber": {
        "title": "Phone Number",
        "description": "",
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "phoneNumber": {
              "description": "A phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
              "maxLength": 20,
              "type": "string"
            },
            "phoneNumberType": {
              "description": "Phone number type: \n\n- **home**: Home or private number ![](https://img.shields.io/badge/Deprecated-yellow?style=flat-square)\n- **mobile**: Mobile number ![](https://img.shields.io/badge/Deprecated-yellow?style=flat-square)\n- **companyDirect**: Company or work number ![](https://img.shields.io/badge/Deprecated-yellow?style=flat-square)\n- **companyPbx**: Private number within company  ![](https://img.shields.io/badge/Deprecated-yellow?style=flat-square)\n- **company**: A phone number you can call the customer at work.\n- **personal**: Personal phone number.\n- **fax**: A phone number to a fax machine.",
              "enum": [
                "home",
                "mobile",
                "companyDirect",
                "companyPbx",
                "company",
                "personal",
                "fax"
              ],
              "type": "string"
            }
          }
        }
      },
      "Model-RegisterOrder-response": {
        "title": "Order",
        "type": "object",
        "properties": {
          "orderId": {
            "description": "OrderId for created order.",
            "type": "integer"
          }
        }
      },
      "ListCategoryCodes-response": {
        "description": "",
        "type": "object",
        "properties": {
          "categoryCodeList": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "categoryType": {
                  "description": "Category type that this category code belongs to",
                  "maxLength": 12,
                  "type": "string"
                },
                "categoryCode": {
                  "description": "Category code",
                  "maxLength": 12,
                  "type": "string"
                },
                "description": {
                  "description": "Description of this `categoryCode`",
                  "maxLength": 255,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CompleteOrderClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "fulfillmentStatus": {
            "description": "Possible values are:\n*  **OK**: A message is sent to user and a callback is done (if `callbackUrl` is given in request) when payment is done.\n* **ERROR**:",
            "enum": [
              "OK",
              "ERROR"
            ],
            "type": "string"
          },
          "orderId": {
            "description": "Something went wrong calling fullfilment API, e.g mobile phone number not accepted. Is null if status OK.\t",
            "type": "integer"
          },
          "errorMessage": {
            "description": "Descriptiv error message if error status.\t",
            "type": "string"
          }
        }
      },
      "ListInvoiceAddress-response": {
        "description": "",
        "required": [
          "payerCustomerNumber"
        ],
        "type": "object",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/Model-Name"
          },
          "address": {
            "$ref": "#/components/schemas/Model-Address"
          },
          "payerSameAsCustomer": {
            "description": "It informs if customer and payer is same.\n\n* **true:** Payer is same as customer, means customer and payer have same name and address.\n* **false:** Payer is not same as customer. Customer has a payer.",
            "type": "boolean"
          },
          "payerCustomerNumber": {
            "description": "If `payerSameAsCustomer` is true, this is the payers customer number. If `payerSameAsCustomer` is false, this is *null*.",
            "type": "integer",
            "nullable": true
          }
        }
      },
      "CheckProductClientMode-request": {
        "description": "",
        "type": "object",
        "properties": {
          "changedAfter": {
            "description": "Only get products changed after this time",
            "type": "integer"
          },
          "onlyActive": {
            "description": "Only get active products (time now is between `startTime` and `endTime`).",
            "type": "boolean"
          }
        }
      },
      "CheckArticlePrice-request": {
        "description": "",
        "required": [
          "companyCode",
          "product"
        ],
        "type": "object",
        "properties": {
          "category": {
            "description": "The category code. If null this function returns all prices for this product.",
            "maxLength": 12,
            "type": "string",
            "nullable": true
          },
          "companyCode": {
            "description": "The company code for the article",
            "maxLength": 12,
            "type": "string"
          },
          "product": {
            "description": "The product code",
            "maxLength": 12,
            "type": "string"
          }
        }
      },
      "CheckCouponPriceClientMode-request": {
        "description": "",
        "required": [
          "couponCode",
          "couponNumber"
        ],
        "type": "object",
        "properties": {
          "couponCode": {
            "description": "Coupon code",
            "maxLength": 12,
            "type": "string"
          },
          "couponNumber": {
            "description": "Coupon number ",
            "type": "integer"
          },
          "customerNumber": {
            "description": "Customer number",
            "type": "integer"
          },
          "countryCode": {
            "description": "The country code - [**ISO 3166 -\n            alpha-2**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).",
            "maxLength": 3,
            "type": "string"
          },
          "postalCode": {
            "description": "Postal code for address",
            "maxLength": 10,
            "type": "string"
          }
        }
      },
      "SearchCustomerClientMode-request": {
        "description": "",
        "type": "object",
        "properties": {
          "productCode": {
            "description": "Product code to match in search.",
            "maxLength": 12,
            "type": "string"
          },
          "companyName": {
            "description": "Company name to match in a name/address search.",
            "maxLength": 40,
            "type": "string"
          },
          "departmentName": {
            "description": "Department name to match in a name/address search.",
            "maxLength": 40,
            "type": "string"
          },
          "firstName": {
            "description": "First name to match in a name/address search.",
            "maxLength": 30,
            "type": "string"
          },
          "middleName": {
            "description": "Middle name to match in a name/address search.",
            "maxLength": 30,
            "type": "string"
          },
          "lastName": {
            "description": "Last name to match in a name/address search.",
            "maxLength": 30,
            "type": "string"
          },
          "careOfAddress": {
            "description": "Care of address to match in a name/address search.",
            "maxLength": 40,
            "type": "string"
          },
          "streetAddress": {
            "description": "Street name to match in a name/address search.",
            "maxLength": 40,
            "type": "string"
          },
          "streetNumber": {
            "description": "Street number to match in a name/address search.",
            "type": "integer"
          },
          "entrance": {
            "description": "Entrance to match in a name/address search.",
            "maxLength": 12,
            "type": "string"
          },
          "postalCode": {
            "description": "Postal code to match in a name/address search.",
            "maxLength": 10,
            "type": "string"
          },
          "postalPlace": {
            "description": "Postal place to match in a name/address search.",
            "maxLength": 30,
            "type": "string"
          },
          "countryCode": {
            "description": "Country code, in [**ISO 3166-2 format**](http://en.wikipedia.org/wiki/ISO_3166-2), to match in a search.\t",
            "maxLength": 3,
            "type": "string"
          },
          "phoneNumber": {
            "description": "Phone number to match in a search.\n\nA phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
            "maxLength": 20,
            "type": "string"
          },
          "email": {
            "format": "email",
            "description": "Email to match in a search.",
            "maxLength": 255,
            "type": "string"
          }
        }
      },
      "SearchCustomerClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "customers": {
            "maxItems": 5,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "customerNumber": {
                  "description": "Customer number",
                  "type": "integer"
                },
                "companyName": {
                  "description": "Company name",
                  "maxLength": 40,
                  "type": "string"
                },
                "departmentName": {
                  "description": "Department name",
                  "maxLength": 40,
                  "type": "string"
                },
                "firstName": {
                  "description": "First name",
                  "maxLength": 30,
                  "type": "string"
                },
                "middleName": {
                  "description": "Middle name",
                  "maxLength": 30,
                  "type": "string"
                },
                "lastName": {
                  "description": "last name",
                  "maxLength": 30,
                  "type": "string"
                },
                "streetAddress": {
                  "description": "Street address",
                  "maxLength": 40,
                  "type": "string"
                },
                "streetNumber": {
                  "description": "Street number",
                  "type": "integer"
                },
                "postalCode": {
                  "description": "Postal code street address\t",
                  "maxLength": 10,
                  "type": "string"
                },
                "postalPlace": {
                  "description": "Postal place street address",
                  "maxLength": 30,
                  "type": "string"
                },
                "postalAddress": {
                  "description": "Postal address",
                  "maxLength": 40,
                  "type": "string"
                },
                "postalAddressPostalCode": {
                  "description": "Postal code postal address",
                  "maxLength": 10,
                  "type": "string"
                },
                "postalAddressPostalPlace": {
                  "description": "Postal place postal address",
                  "maxLength": 30,
                  "type": "string"
                },
                "countryCode": {
                  "description": "Country code, in [**ISO 3166-2 format**](http://en.wikipedia.org/wiki/ISO_3166-2)",
                  "maxLength": 3,
                  "type": "string"
                },
                "emails": {
                  "description": "List with emails",
                  "type": "object",
                  "properties": {
                    "email": {
                      "format": "email",
                      "description": "Email address",
                      "maxLength": 255,
                      "type": "string"
                    }
                  }
                },
                "phoneNumbers": {
                  "description": "List with phone numbers",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "phoneNumber": {
                        "description": "A phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
                        "maxLength": 20,
                        "type": "string"
                      },
                      "isMobile": {
                        "description": "Informs if it is a mobile phone number.\n\n* **true**: It is a mobile phone number.\n* **false**: It is not a mobile phone number.",
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CheckArticlePrice-response": {
        "description": "",
        "properties": {
          "articlePriceResponse": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "categoryCode": {
                  "description": "The category code",
                  "maxLength": 12,
                  "type": "string"
                },
                "price": {
                  "description": "The price of the article\t",
                  "multipleOf": 0.01,
                  "type": "number"
                }
              }
            }
          }
        },
        "type": "object"
      },
      "CheckCouponPriceClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "companyCode": {
            "description": "Company code",
            "maxLength": 12,
            "type": "string"
          },
          "product": {
            "description": "Product code",
            "maxLength": 12,
            "type": "string"
          },
          "price": {
            "description": "Price",
            "multipleOf": 0.01,
            "type": "number"
          },
          "vatAmount": {
            "description": "Vat amount",
            "multipleOf": 0.01,
            "type": "number"
          },
          "vatpercent": {
            "description": "Vat percentage",
            "multipleOf": 0.01,
            "type": "number"
          },
          "vatInclude": {
            "description": "Informs if vat is included or not\r\n\r\n* **true:** Vat is included in price \r\n* **false:** Vat is not included",
            "type": "boolean"
          },
          "currency": {
            "description": "Currency standard - [**ISO4217 - alphabetic code**](https://en.wikipedia.org/wiki/ISO_4217).",
            "maxLength": 3,
            "type": "string"
          },
          "distAmount": {
            "description": "Amount for distribution price",
            "multipleOf": 0.01,
            "type": "number"
          },
          "distAmountvat": {
            "description": "Vat amount on dist amount. ",
            "multipleOf": 0.01,
            "type": "number"
          },
          "customerNumber": {
            "description": "Customer Number",
            "type": "integer"
          }
        }
      },
      "RemovePayExToken-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "Informs if token is marked as deleted.\n* **true**: The token marked as deleted.\n* **false**: The token may not be marked as deleted.",
            "type": "boolean"
          }
        }
      },
      "AddPayExToken-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "It informs if the token was added.\r\n\r\n* **true:** The token was added.\r\n* **false:** The token was not added.\r\n",
            "type": "boolean"
          },
          "transactionId": {
            "description": "The transactionId",
            "type": "integer"
          }
        }
      },
      "AddPayExToken-request": {
        "description": "",
        "required": [
          "tokenType",
          "productCode"
        ],
        "type": "object",
        "properties": {
          "tokenType": {
            "description": "Specific transaction type for token. Following types may be used: \n* **card**: Payment card",
            "enum": [
              "card"
            ],
            "type": "string"
          },
          "productCode": {
            "description": "Specific product for token.",
            "type": "string"
          }
        }
      },
      "PayInvoice-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "It informs if the payment was added.\r\n\r\n* **true:** The payment was added.\r\n* **false:** The payment was not added.\r\n",
            "type": "boolean"
          },
          "transactionId": {
            "description": "The transactionId",
            "type": "integer"
          }
        }
      },
      "AssignUserClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "orderId": {
            "description": "Order Id",
            "type": "integer"
          },
          "uniqueUserId": {
            "description": "Unique user Id",
            "type": "string"
          },
          "isNewUser": {
            "description": "It informs if the user is new.\n* **true**: The user is new\n* **false**: The user is not new.",
            "type": "boolean"
          },
          "isPasswordSet": {
            "description": "It informs if user has a password set\n* **true**: The user has a password set.\n* **false**: The user has not a password set.",
            "type": "boolean"
          }
        }
      },
      "ListUserProfile-response": {
        "description": "",
        "type": "object",
        "properties": {
          "uniqueId": {
            "description": "A unique ID for this user which will never change",
            "type": "string"
          },
          "loginCredential": {
            "description": "Wrapper for the credential the user is currently logged in with",
            "type": "object",
            "properties": {
              "credential": {
                "description": "A credential belonging to the user, e.g. an email address or a phone number",
                "maxLength": 60,
                "type": "string"
              },
              "credentialType": {
                "description": "The type of credential used, one of:\n* **email**:  A email address.\n* **mobile**: A phone that can receive and send sms.\n* **phone**:  A phone that can not receive and send sms.\n* **facebook**:  FB+identification number.\n* **google**:  GP+identification number.\n* **vipps**:  VIPPS+identification number.\n* **apple**:  APPLE+identification number.",
                "enum": [
                  "email",
                  "mobile",
                  "phone",
                  "facebook",
                  "google",
                  "vipps",
                  "apple"
                ],
                "type": "string"
              },
              "verificationLevel": {
                "description": "How the credential was verified, one of:\n* **notVerified**\n* **notRepeatedCredential**\n* **repeatedCredential**\n* **externallyVerified**\n* **verificationLink**\n* **verificationCode**\n* **enteredPassword** ![](https://img.shields.io/badge/Deprecated-yellow?style=flat-square)",
                "enum": [
                  "notVerified",
                  "notRepeatedCredential",
                  "repeatedCredential",
                  "externallyVerified",
                  "verificationLink",
                  "verificationCode",
                  "enteredPassword"
                ],
                "type": "string"
              }
            }
          },
          "userCredentials": {
            "description": "Wrapper for a list of all the user's credentials",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "credential": {
                  "description": "A credential belonging to the user, e.g. an email address or a phone number.",
                  "maxLength": 60,
                  "type": "string"
                },
                "credentialType": {
                  "description": "The type of credential used, one of:\n* **email**:  A email address.\n* **mobile**: A phone that can receive and send sms.\n* **phone**:  A phone that can not receive and send sms.\n* **facebook**:  FB+identification number.\n* **google**:  GP+identification number.\n* **vipps**:  VIPPS+identification number.\n* **apple**:  APPLE+identification number.",
                  "enum": [
                    "email",
                    "mobile",
                    "phone",
                    "facebook",
                    "google",
                    "vipps",
                    "apple"
                  ],
                  "type": "string"
                },
                "verificationLevel": {
                  "description": "How the credential was verified, one of:\n* **notVerified**\n* **notRepeatedCredential**\n* **repeatedCredential**\n* **externallyVerified**\n* **verificationLink**\n* **verificationCode**\n* **enteredPassword** ![](https://img.shields.io/badge/Deprecated-yellow?style=flat-square)",
                  "enum": [
                    "notVerified",
                    "notRepeatedCredential",
                    "repeatedCredential",
                    "externallyVerified",
                    "verificationLink",
                    "verificationCode",
                    "enteredPassword"
                  ],
                  "type": "string"
                }
              }
            }
          },
          "name": {
            "$ref": "#/components/schemas/Model-Name"
          },
          "phoneNumbers": {
            "$ref": "#/components/schemas/Model-PhoneNumber"
          },
          "emails": {
            "description": "Email address (each address has a limit of maximum 255 character)",
            "type": "array",
            "items": {
              "format": "email",
              "type": "string"
            }
          },
          "externalSources": {
            "description": "Available profile data from external sources, possible values:\n* **Facebook**\n* **Google**\n* **Vipps**\n* **Apple**\n* **AID**",
            "type": "array",
            "items": {
              "enum": [
                "Facebook",
                "Google",
                "Vipps",
                "Apple",
                "AID"
              ],
              "type": "string"
            }
          }
        }
      },
      "ListVippsAgreement-response": {
        "description": "",
        "type": "object",
        "properties": {
          "recurringAgreements": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "agreementRef": {
                  "description": "Agreement reference.",
                  "maxLength": 128,
                  "type": "string"
                },
                "paymentProviderId": {
                  "description": "Payment provider id.",
                  "type": "integer"
                },
                "productCode": {
                  "description": "The `productCode` assigned to agreement.",
                  "maxLength": 12,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "SendMessage-request": {
        "description": "",
        "required": [
          "product",
          "messageContent"
        ],
        "type": "object",
        "properties": {
          "product": {
            "description": "Product code",
            "maxLength": 12,
            "type": "string"
          },
          "caseType": {
            "description": "Override case type for this message. Available types: \n\n* **A:** follow up complaint\n* **B:** cancellation",
            "maxLength": 1,
            "type": "string"
          },
          "messageSubject": {
            "description": "The subject on the message to customer service.",
            "maxLength": 40,
            "type": "string"
          },
          "messageContent": {
            "description": "Message to customer service",
            "maxLength": 32000,
            "type": "string"
          }
        }
      },
      "SendMessageClientMode-Request": {
        "description": "",
        "required": [
          "messageContent"
        ],
        "type": "object",
        "properties": {
          "product": {
            "description": "Product code",
            "maxLength": 12,
            "type": "string"
          },
          "caseType": {
            "description": "Override case type for this message. Available types: \n\n* **A:** follow up complaint\n* **B:** cancellation",
            "maxLength": 1,
            "type": "string"
          },
          "messageSubject": {
            "description": "The subject on the message to customer service.",
            "maxLength": 40,
            "type": "string"
          },
          "messageContent": {
            "description": "Message to customer service",
            "maxLength": 32000,
            "type": "string"
          }
        }
      },
      "ChangeCustomerInfo-request": {
        "description": "",
        "type": "object",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/Model-Name"
          },
          "phoneNumbers": {
            "$ref": "#/components/schemas/Model-PhoneNumber"
          },
          "emails": {
            "description": "Email address (each email maximum 255 character)",
            "type": "array",
            "items": {
              "format": "email",
              "type": "string"
            }
          },
          "invoiceEmailAddress": {
            "format": "email",
            "description": "Email address that shall be used for sending email invoice",
            "maxLength": 60,
            "type": "string"
          }
        }
      },
      "RemoveVippsAgreement-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "Informs if agreement is marked as deleted.\n* **true**: The agreement marked as deleted.\n* **false**: The agreement may not be marked as deleted.",
            "type": "boolean"
          }
        }
      },
      "RemoveKlarnaToken-request": {
        "description": "",
        "required": [
          "token",
          "paymentProviderId"
        ],
        "type": "object",
        "properties": {
          "token": {
            "description": "Token that shall be marked as deleted.",
            "maxLength": 128,
            "type": "string"
          },
          "paymentProviderId": {
            "description": "Payment provider id for token.",
            "type": "integer"
          }
        }
      },
      "RemoveVippsAgreement-request": {
        "description": "",
        "required": [
          "agreementRef",
          "paymentProviderId"
        ],
        "type": "object",
        "properties": {
          "agreementRef": {
            "description": "Agreement that shall be marked as deleted.",
            "maxLength": 128,
            "type": "string"
          },
          "paymentProviderId": {
            "description": "Payment provider id for agreement.",
            "type": "integer"
          }
        }
      },
      "AddVippsAgreement-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "It informs if the agreement was added.\r\n\r\n* **true:** The agreement was added.\r\n* **false:** The agreement was not added.\r\n",
            "type": "boolean"
          },
          "transactionId": {
            "description": "The transactionId",
            "type": "integer"
          }
        }
      },
      "AddVippsAgreement-request": {
        "description": "",
        "required": [
          "productCode"
        ],
        "type": "object",
        "properties": {
          "productCode": {
            "description": "Specific product for agreement.",
            "type": "string"
          }
        }
      },
      "RemoveKlarnaToken-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "Informs if token is marked as deleted.\n* **true**: The token marked as deleted.\n* **false**: The token may not be marked as deleted.",
            "type": "boolean"
          }
        }
      },
      "ListKlarnaTokens-response": {
        "description": "",
        "type": "object",
        "properties": {
          "recurringTokens": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "token": {
                  "description": "Token.",
                  "maxLength": 128,
                  "type": "string"
                },
                "paymentProviderId": {
                  "description": "Payment provider id.",
                  "type": "integer"
                },
                "productCode": {
                  "description": "The `productCode` assigned to token.",
                  "maxLength": 12,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ListPayExTokens-response": {
        "description": "",
        "type": "object",
        "properties": {
          "paymentRecurrenceTokens": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recurrenceToken": {
                  "description": "Token from service provider",
                  "maxLength": 128,
                  "type": "string"
                },
                "paymentProviderId": {
                  "description": "Payment provider id",
                  "type": "integer"
                },
                "merchantId": {
                  "description": "The `recurrenceToken` is owned by this merchant",
                  "maxLength": 64,
                  "type": "string"
                },
                "productCode": {
                  "description": "The `productCode` assigned to ticket",
                  "maxLength": 12,
                  "type": "string"
                },
                "maskedCardNumber": {
                  "description": "Masked card number for display",
                  "maxLength": 64,
                  "type": "string"
                },
                "expirationMonth": {
                  "description": "Card expiration month, e.g \"06\"",
                  "maxLength": 2,
                  "type": "string"
                },
                "expirationYear": {
                  "description": "Card expiration year, e.g \"22\"",
                  "maxLength": 2,
                  "type": "string"
                },
                "cardTypeName": {
                  "description": "Card type",
                  "maxLength": 32,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "RemovePayExToken-request": {
        "description": "",
        "required": [
          "recurrenceToken",
          "paymentProviderId"
        ],
        "type": "object",
        "properties": {
          "recurrenceToken": {
            "description": "Token that shall be marked as deleted.",
            "maxLength": 64,
            "type": "string"
          },
          "paymentProviderId": {
            "description": "Payment provider id for token.",
            "type": "integer"
          },
          "merchantId": {
            "deprecated": true,
            "description": "Merchant id for token. \nDeprecated but may be provided instead of paymentProviderId, this is to preserve compatibility with older version. Support for this field may be removed in the future.",
            "type": "integer"
          }
        }
      },
      "Error404": {
        "description": "",
        "type": "object",
        "properties": {
          "uniqueId": {
            "description": "Unique ID. In some cases we use this id when logging severe errors",
            "type": "string"
          },
          "exceptionType": {
            "description": "Type of exceptions to indicate severity. Types:\n- **VALIDATION**: The input is not validated.",
            "enum": [
              "VALIDATION"
            ],
            "type": "string"
          },
          "errorMessage": {
            "description": "A descriptive error message.",
            "type": "string"
          }
        },
        "example": {
          "uniqueId": "33ddb545-a88f-4e5d-906d-5af03e9a8dd1",
          "exceptionType": "VALIDATION",
          "errorMessage": "Error message here, e.g. missing field"
        }
      },
      "PayInvoice-request": {
        "description": "",
        "required": [
          "invoiceNumber",
          "productCode",
          "companyCode",
          "paymentMethod"
        ],
        "type": "object",
        "properties": {
          "invoiceNumber": {
            "description": "Specific invoice for payment.",
            "maxLength": 10,
            "type": "string"
          },
          "productCode": {
            "description": "Specific product for payment.",
            "maxLength": 12,
            "type": "string"
          },
          "companyCode": {
            "description": "Specific company for payment.",
            "maxLength": 12,
            "type": "string"
          },
          "paymentMethod": {
            "description": "Specific payment method type for payment. Following types may be used: \n* **creditcardPayex**: Payment card\n* **swishPayex**: Swish payex payment\n* **vippsEcommerce**: Vipps eCommerce payment\n* **nexi**: Nexi payment",
            "enum": [
              "creditcardPayex",
              "swishPayex",
              "vippsEcommerce",
              "nexi"
            ],
            "type": "string"
          }
        }
      },
      "CompleteOrderClientMode-request": {
        "description": "",
        "required": [
          "orderId"
        ],
        "type": "object",
        "properties": {
          "orderId": {
            "description": "Fullfill order with this id.",
            "type": "integer"
          },
          "callbackUrl": {
            "description": "Callback URL (absolute) used when payment is fulfilled. Parameter `fulfillmentStatus` is added to url and method GET is used. Parameter will have one of the following values: \n* **success**\n* **failed**",
            "type": "string"
          }
        }
      },
      "AcceptSubscriptionShareInvitation-request": {
        "description": "",
        "required": [
          "shareCode",
          "changeType"
        ],
        "type": "object",
        "properties": {
          "shareCode": {
            "description": "Share code, the unique key to find given share",
            "maxLength": 255,
            "type": "string"
          },
          "changeType": {
            "description": "What type of change it is:\n* **ACCEPT:** Accept the share",
            "enum": [
              "ACCEPT"
            ],
            "type": "string"
          }
        }
      },
      "DeclineShareClientMode-request": {
        "description": "",
        "required": [
          "shareCode",
          "changeType"
        ],
        "type": "object",
        "properties": {
          "shareCode": {
            "description": "Share code, the unique key to find given share",
            "maxLength": 255,
            "type": "string"
          },
          "changeType": {
            "description": "What type of change it is:\n* **DECLINE**: Decline the share",
            "enum": [
              "DECLINE"
            ],
            "type": "string"
          }
        }
      },
      "ListCustomerProductShareRule-response": {
        "description": "",
        "type": "object",
        "properties": {
          "customerProductShareRules": {
            "type": "array",
            "items": {
              "required": [
                "productCode",
                "shareType"
              ],
              "type": "object",
              "properties": {
                "productCode": {
                  "description": "Product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "shareType": {
                  "description": "The type of sharing:\n\n- **A**: Share with users\n- **D**: B2B share",
                  "type": "string"
                },
                "shareCount": {
                  "description": "The maximum number of users for sharing the product",
                  "maximum": 32767,
                  "minimum": 0,
                  "type": "integer"
                },
                "couponCodeShareRecipient": {
                  "description": "Coupon code, applicable only to B2B.",
                  "maxLength": 12,
                  "type": "string"
                },
                "couponNumberShareRecipient": {
                  "description": "Coupon number, applicable only to B2B.",
                  "type": "integer"
                },
                "isCreateConnectCustomer": {
                  "description": "Informs if it is recommeneded to create connect customer when user accepts share invitation:\n-  **true**: It is recommended. \n-  **false**: It is not recommended.",
                  "type": "boolean"
                },
                "isCustomerNameRequired": {
                  "description": "Informs if it is required to specify customer name in share invitation.\n-  **true**: It is required.\n-  **false**: It is not required.",
                  "type": "boolean"
                },
                "issuer": {
                  "description": "If specified then consents for this issuer should be collected when user accepts share invitation.",
                  "type": "string"
                },
                "issuerConsentGroupId": {
                  "description": "If specified then consents for this issuer consent group should be collected when user accepts share invitation.",
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "ChangeSubscriptionShareInvitationDetails-request": {
        "description": "",
        "required": [
          "shareCode"
        ],
        "type": "object",
        "properties": {
          "shareCode": {
            "description": "Share code, the unique key to find given share",
            "maxLength": 255,
            "type": "string"
          },
          "firstName": {
            "description": "First (given) name.",
            "maxLength": 30,
            "type": "string"
          },
          "lastName": {
            "description": "Last (family) name.",
            "maxLength": 30,
            "type": "string"
          }
        }
      },
      "CancelSharing-request": {
        "description": "",
        "required": [
          "shareCode",
          "changeType"
        ],
        "type": "object",
        "properties": {
          "shareCode": {
            "description": "Share code, the unique key to find given share",
            "maxLength": 255,
            "type": "string"
          },
          "changeType": {
            "description": "What type of change it is:\n* **CANCEL:** Cancel the share",
            "enum": [
              "CANCEL"
            ],
            "type": "string"
          }
        }
      },
      "ChangeDistributionLevel-request": {
        "description": "",
        "type": "object",
        "properties": {
          "productCode": {
            "description": "Product code",
            "maxLength": 12,
            "type": "string"
          },
          "distributionLevel": {
            "description": "Distribution level",
            "maxLength": 1,
            "minLength": 1,
            "type": "string"
          }
        },
        "example": {
          "product": "ABC",
          "distributionLevel": "N"
        }
      },
      "Model-SubscriptionShare-response": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "description": "* **SHARE_OK**: A share request has been sent to the recipient.\n* **NO_SUBSCRIPTION**: No subscription to share.\n* **SUBSCRIPTION_STOPPED**: Subscription is stopped and cannot be shared.\n* **REQUEST_ACCEPTED**: Share request has been accepted.\n* **REQUEST_DECLINED**: Share request has been declined.\n* **SHARING_ENDED**: Share has ended.\n* **SHARE_CODE_NOT_FOUND**: Share code was not found.\n* **SHARE_CHANGE_TYPE_NOT_SUPPORTED**: Share change type is not supported.\n* **ALREADY_IN_USE**: Share for the specified contact is already in use.\n* **SHARE_LIMIT**: When another sharing was accepted and user can't accept this sharing until the other sharing is ended.\n* **INVITATIONS_POOL_EXHAUSTED**: When all available invitations have been used and the user cannot send new ones until other sharing is ended.",
            "enum": [
              "SHARE_OK",
              "NO_SUBSCRIPTION",
              "SUBSCRIPTION_STOPPED",
              "REQUEST_ACCEPTED",
              "REQUEST_DECLINED",
              "SHARING_ENDED",
              "SHARE_CODE_NOT_FOUND",
              "SHARE_CHANGE_TYPE_NOT_SUPPORTED",
              "ALREADY_IN_USE",
              "SHARE_LIMIT",
              "INVITATIONS_POOL_EXHAUSTED"
            ],
            "type": "string"
          }
        }
      },
      "ListStocksClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "description": "Product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "stockQuantity": {
                  "description": "Stock quantity",
                  "type": "number"
                },
                "status": {
                  "description": "Stock status:\n* **instock**\n* **blocked**\n* **expired**",
                  "enum": [
                    "instock",
                    "blocked",
                    "expired"
                  ],
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CheckProductDependencyDiscount-request": {
        "description": "",
        "type": "object",
        "properties": {
          "productCodes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productCode": {
                  "description": "The product you want check any discount",
                  "maxLength": 12,
                  "type": "string"
                }
              }
            }
          },
          "customerNumber": {
            "description": "Customer number used to check active subscriptions or any pending orders",
            "type": "integer"
          }
        }
      },
      "CheckProductDependencyDiscount-response": {
        "description": "",
        "type": "object",
        "properties": {
          "productsWithDiscount": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productCode": {
                  "description": "The product you want check any discount",
                  "maxLength": 12,
                  "type": "string"
                },
                "percentDiscount": {
                  "description": "Discount in percenteage",
                  "multipleOf": 0.01,
                  "type": "number"
                }
              }
            }
          }
        }
      },
      "ListDistributionLevels-response": {
        "description": "",
        "type": "object",
        "properties": {
          "externalReferences": {
            "type": "array",
            "items": {
              "required": [
                "distributionLevel"
              ],
              "type": "object",
              "properties": {
                "distributionLevel": {
                  "description": "Distribution level - how it is distributed.",
                  "maxLength": 1,
                  "minLength": 1,
                  "type": "string"
                },
                "usage": {
                  "description": "Usage:\n\n- **A**: used as default B2B received subscription start distribution\n- **B**: used as default B2B received subscription stop distribution",
                  "maxLength": 1,
                  "minLength": 1,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Model-Success-response": {
        "title": "Success",
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "Informs if operation response is successful.\n\n* **true**: The external reference was created.\n* **false** The external reference was not created.",
            "type": "boolean"
          }
        }
      },
      "RegisterExternalReferenceClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "Informs if operation response is successful.\n\n* **true**: The external reference was created.\n* **false** The external reference was not created.",
            "type": "boolean"
          }
        }
      },
      "ChangeExternalReferenceClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "Informs if operation response is successful.\n\n* **true**: The external reference was updated.\n* **false** The external reference was not updated.",
            "type": "boolean"
          }
        }
      },
      "DeleteExternalReferenceClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "Informs if operation response is successful.\n\n* **true**: The external reference was deleted.\n* **false** The external reference was not deleted.",
            "type": "boolean"
          }
        }
      },
      "ChangeAddress-request": {
        "description": "",
        "required": [
          "changeType"
        ],
        "type": "object",
        "properties": {
          "product": {
            "description": "Product code: Multiple values separated by comma (each value maximum 12 character).  Required unless `changeType` is createPermanent.\n",
            "maxLength": 12,
            "type": "string"
          },
          "changeType": {
            "description": "The type of this address change. Types must be one of: \n\n* **update:** Either requires an id for a current/future address, or updates the current home address. Specified dates but no id means a failure.  \n* **delete:** Requires an id for a future address, only works until that address' start date has not been reached  \n* **create:** Creates a future address change, can optionally take an id from a historical address to reuse that address, requires product  \n* **createPermanent:** Same as create, but creates a permanent future address change, ignores product and end time  \n\nIt is not possible to update the address data on a future address change, this is done by deleting an id and creating a new one with the correct address. When a period is specified to an update request, it is implied that the change is to be done to a future address change.",
            "enum": [
              "update",
              "delete",
              "create",
              "createPermanent"
            ],
            "type": "string"
          },
          "id": {
            "description": "Unique id for an address to use.\n\nThis is required in these instances:\n\n* Update of the period on a future address change.\n* Deleting a future address change.\n* Creating a future address change using an historical address.\n\nThis is optional in these instances:\n\n* Updating the current home address.\n\nThese instances will lead to errors:\n\n* Specifying the id for the current home address, but specifying period data on an update.\n* Leaving the id blank when specifying period data on an update.\n* Specifying the id for the current home address when creating a new future address change.\n* Leaving the id blank when deleting a future address change.",
            "type": "integer"
          },
          "careOfAddress": {
            "description": "The C/O for this address change.",
            "maxLength": 40,
            "type": "string"
          },
          "streetAddress": {
            "description": "The street for this address change\t",
            "maxLength": 40,
            "type": "string"
          },
          "streetNumber": {
            "description": "The street number for this address change",
            "type": "integer"
          },
          "entrance": {
            "description": "The entrance for this address change",
            "maxLength": 12,
            "type": "string"
          },
          "postalCode": {
            "description": "The postal code for this address change\t",
            "maxLength": 10,
            "type": "string"
          },
          "postalPlace": {
            "description": "The postal place for this address change",
            "maxLength": 30,
            "type": "string"
          },
          "postalAddress": {
            "description": "The postal address for this address change",
            "maxLength": 40,
            "type": "string"
          },
          "postalAddressPostalCode": {
            "description": "The postal code for this address change's postal address",
            "maxLength": 10,
            "type": "string"
          },
          "postalAddressPostalPlace": {
            "description": "The postal place for this address change's postal address",
            "maxLength": 30,
            "type": "string"
          },
          "countryCode": {
            "description": "The country code for this address - [**ISO 3166 - alpha-2**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\n\nThis field is required for update and create.",
            "maxLength": 3,
            "type": "string"
          },
          "period": {
            "type": "object",
            "properties": {
              "startTime": {
                "description": "The start of an address's active period.\n\nThis field is required when creating a new future address.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                "type": "integer"
              },
              "endTime": {
                "description": "The end of an address's active period.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                "type": "integer"
              }
            }
          }
        }
      },
      "Model-ListAddress": {
        "description": "",
        "type": "object",
        "properties": {
          "addressList": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "product": {
                  "description": "The product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "addressType": {
                  "description": "The type of this address item. Types returned on the different query types: \n\n- *currentAddress:* **delivery** and **home**  \n- *historicalAddress:* **temporary**  \n- *futureAddress:* **temporary** and **permanent**",
                  "enum": [
                    "delivery",
                    "home",
                    "temporary",
                    "permanent"
                  ],
                  "type": "string"
                },
                "id": {
                  "description": "Unique id for this address",
                  "type": "integer"
                },
                "careOfAddress": {
                  "description": "The C/O for this address",
                  "maxLength": 40,
                  "type": "string"
                },
                "streetAddress": {
                  "description": "The street for this address",
                  "maxLength": 40,
                  "type": "string"
                },
                "streetNumber": {
                  "description": "The street number for this address",
                  "type": "integer"
                },
                "entrance": {
                  "description": "The entrance for this address",
                  "maxLength": 12,
                  "type": "string"
                },
                "floor": {
                  "description": "The floor for this address",
                  "type": "integer"
                },
                "suite": {
                  "description": "The suite for this address",
                  "maxLength": 10,
                  "type": "string"
                },
                "postalCode": {
                  "description": "The postal code for this address",
                  "maxLength": 10,
                  "type": "string"
                },
                "postalPlace": {
                  "description": "The postal place for this address",
                  "maxLength": 30,
                  "type": "string"
                },
                "postalAddress": {
                  "description": "The postal address for this address",
                  "maxLength": 40,
                  "type": "string"
                },
                "postalAddressPostalCode": {
                  "description": "The postal code for this address's postal address",
                  "maxLength": 10,
                  "type": "string"
                },
                "postalAddressPostalPlace": {
                  "description": "The postal place for this address's postal address\t",
                  "maxLength": 30,
                  "type": "string"
                },
                "countryCode": {
                  "description": "The country code for this address - [**ISO 3166 - alpha-2**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",
                  "maxLength": 3,
                  "type": "string"
                },
                "period": {
                  "description": "Wrapper holding details about an address's active period",
                  "type": "object",
                  "properties": {
                    "startTime": {
                      "description": "The start of an address's active period.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                      "type": "integer"
                    },
                    "endTime": {
                      "description": "The end of an address's active period.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ListCouponClientMode-response": {
        "description": "",
        "properties": {
          "coupons": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "couponCode": {
                  "description": "Coupon code",
                  "maxLength": 12,
                  "type": "string"
                },
                "couponNumber": {
                  "description": "Coupon number",
                  "type": "integer"
                },
                "startTime": {
                  "description": "Start time, i.e time coupon can be used from.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "endTime": {
                  "description": "End time, i.e time coupon no longer can be used.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "description": {
                  "description": "Coupon description",
                  "maxLength": 255,
                  "type": "string"
                },
                "couponPrice": {
                  "description": "Coupon price/amount",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "periodLength": {
                  "description": "Initial period length",
                  "maximum": 32767,
                  "minimum": 1,
                  "type": "integer"
                },
                "periodType": {
                  "description": "The unit of the period length. Use one of these:\n* **days** \n* **months**\n* **years** \n* **issues** ",
                  "enum": [
                    "days",
                    "months",
                    "years",
                    "issues"
                  ],
                  "type": "string"
                },
                "productDeliveryPlanId": {
                  "description": "The unique id for productdeliveryplan",
                  "type": "integer"
                },
                "extraProducts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "productId": {
                        "description": "Product id/code",
                        "maxLength": 12,
                        "type": "string"
                      },
                      "description": {
                        "description": "Product description",
                        "maxLength": 40,
                        "type": "string"
                      }
                    }
                  }
                },
                "renewal": {
                  "type": "object",
                  "properties": {
                    "renewalPrice": {
                      "description": "Renewal price/amount",
                      "multipleOf": 0.01,
                      "type": "number"
                    },
                    "periodLength": {
                      "description": "Renewal period length",
                      "maximum": 32767,
                      "minimum": 1,
                      "type": "integer"
                    },
                    "periodType": {
                      "description": "The unit of the period length. Use one of these:\n* **days** \n* **months**\n* **years** \n* **issues** ",
                      "enum": [
                        "days",
                        "months",
                        "years",
                        "issues"
                      ],
                      "type": "string"
                    }
                  }
                },
                "marketing": {
                  "type": "object",
                  "properties": {
                    "project": {
                      "type": "string",
                      "description": "Project code",
                      "maxLength": 18
                    },
                    "market": {
                      "type": "string",
                      "description": "Market code",
                      "maxLength": 12
                    },
                    "activity": {
                      "type": "string",
                      "description": "Activity code",
                      "maxLength": 18
                    },
                    "salesMethod": {
                      "type": "string",
                      "description": "Method of sales",
                      "maxLength": 12
                    }
                  }
                }
              }
            }
          }
        },
        "type": "object"
      },
      "ListOrderProductHistory-response": {
        "description": "",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "customerNumber": {
                  "description": "Customer number",
                  "type": "integer"
                },
                "orderNumber": {
                  "description": "Order number",
                  "type": "integer"
                },
                "orderDate": {
                  "description": "Order date\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "description": {
                  "description": "Order description",
                  "type": "string"
                },
                "amount": {
                  "description": "Order amount",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "vat": {
                  "description": "Order vat",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "invoiceNumber": {
                  "description": "Invoice number",
                  "type": "integer"
                },
                "invoiceDate": {
                  "description": "Invoice date\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "companyCode": {
                  "description": "Company code",
                  "maxLength": 12,
                  "type": "string"
                },
                "invoiceStatus": {
                  "description": "Invoice status:\n- **notInvoiced**: The invoice is not sent to the customer.\n- **invoiced**: The invoice is sent to the customer.\n- **paid**: The invoice is paid by the customer.\n- **cancelled**: The invoice is cancelled.\n- **dunned**: The invoice is dunned.",
                  "enum": [
                    "notInvoiced",
                    "invoiced",
                    "paid",
                    "cancelled",
                    "dunned"
                  ],
                  "type": "string"
                },
                "target": {
                  "description": "What target is allowed to use it.\n\nPossible value is:\n* null: Means no restrictions, any target can use it.\n* **C**: Connect.",
                  "enum": [
                    "C"
                  ],
                  "type": "string",
                  "nullable": true
                },
                "invoiceHotelUrl": {
                  "description": "Url to the PDF invoice",
                  "type": "string"
                }
              }
            }
          }
        },
        "type": "object"
      },
      "Model-Order-Receiver-and-Recruiter": {
        "title": "Name and address for order",
        "type": "object",
        "properties": {
          "customerNumber": {
            "description": "A valid and existing customer number in the Connect environment",
            "type": "integer"
          },
          "companyRegistrationNumber": {
            "description": "A valid registration number in an official registry.",
            "maxLength": 16,
            "type": "string"
          },
          "companyName": {
            "description": "Name of the company.",
            "maxLength": 40,
            "type": "string"
          },
          "department": {
            "deprecated": true,
            "description": "Name of the department. Use the departmentName field instead of this.",
            "maxLength": 40,
            "type": "string"
          },
          "departmentName": {
            "description": "Name of the department.",
            "maxLength": 40,
            "type": "string"
          },
          "personsSocialSecurityNumber": {
            "description": "A valid personal social security number.",
            "maxLength": 16,
            "type": "string"
          },
          "firstName": {
            "description": "First (given) name.",
            "maxLength": 30,
            "type": "string"
          },
          "middleName": {
            "description": "Middle name.",
            "maxLength": 30,
            "type": "string"
          },
          "lastName": {
            "description": "Last (family) name.",
            "maxLength": 30,
            "type": "string"
          },
          "coAddress": {
            "deprecated": true,
            "description": "Extra address line if needed. Use the careOfAddress field instead of this.",
            "maxLength": 40,
            "type": "string"
          },
          "careOfAddress": {
            "description": "Extra address line if needed.",
            "maxLength": 40,
            "type": "string"
          },
          "street": {
            "description": "Street address",
            "maxLength": 40,
            "type": "string"
          },
          "streetNumber": {
            "description": "Street number",
            "type": "integer"
          },
          "entrance": {
            "description": "Entrance",
            "maxLength": 12,
            "type": "string"
          },
          "floorType": {
            "description": "Valid values: \n* **H**: Main floor \n* **U**: Lower floor \n* **L**: Attic \n* **K**: Basement",
            "maxLength": 1,
            "type": "string"
          },
          "floor": {
            "description": "Floor.",
            "type": "integer"
          },
          "suite": {
            "description": "Suite",
            "maxLength": 10,
            "type": "string"
          },
          "postalCode": {
            "description": "A valid postal code for the street address.",
            "maxLength": 10,
            "type": "string"
          },
          "postalPlace": {
            "description": "Postal place",
            "maxLength": 30,
            "type": "string"
          },
          "postalAddress": {
            "description": "Postal address",
            "maxLength": 40,
            "type": "string"
          },
          "postalAddressPostalCode": {
            "description": "A valid postal code for the postal address",
            "maxLength": 10,
            "type": "string"
          },
          "postalAddressPostalPlace": {
            "description": "Postal place for the postal address.",
            "maxLength": 30,
            "type": "string"
          },
          "countryCode": {
            "description": "The country code for this address - [**ISO 3166 - alpha-2**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",
            "maxLength": 3,
            "type": "string"
          },
          "birthDate": {
            "description": "Birth date if this is a person.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.\n",
            "type": "integer"
          },
          "sex": {
            "description": "Valid values\n\n* **male**: The person is a male.\n* **female**: The person is a female.\n* **unknown**: The gender is unknown.",
            "enum": [
              "male",
              "female",
              "unknown"
            ],
            "type": "string"
          },
          "emails": {
            "description": "A list of email addresses beloning to the person or company. 0, 1 or 2 addresses (each address maximum 255 characters)",
            "maxItems": 2,
            "minItems": 0,
            "type": "array",
            "items": {
              "format": "email",
              "type": "string"
            }
          },
          "phoneNumbers": {
            "description": "A list of phone numbers. Up to four phone numbers may be submitted.\n\nA phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "description": "Custom data possible to add to any address record. Valid categories are found through the different category APIs.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "addressCategory": {
                  "description": "The address category to add to the address record.",
                  "maxLength": 12,
                  "type": "string"
                },
                "freeValue": {
                  "description": "On rare occasions, a free value can be added to the category data. Usually not allowed.",
                  "maxLength": 30,
                  "type": "string"
                }
              }
            }
          },
          "permissions": {
            "description": "Permission data possible to add to any address record. Permissions is not a required element.",
            "type": "array",
            "items": {
              "required": [
                "enterpriseCode",
                "channels",
                "channelCode",
                "permissionType"
              ],
              "type": "object",
              "properties": {
                "enterpriseCode": {
                  "description": "Enterpise code",
                  "maxLength": 12,
                  "type": "string"
                },
                "orderTypeCode": {
                  "description": "Ordertype code, required if `permissions` is applied on order type level.",
                  "maxLength": 12,
                  "type": "string"
                },
                "channels": {
                  "description": "List with permission details on distribution channel code.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "channelCode": {
                  "description": "Distribution channel code.",
                  "maxLength": 20,
                  "type": "string"
                },
                "permissionType": {
                  "description": "Valid values: \n* **permission**: \n* **shield**: ",
                  "enum": [
                    "permission",
                    "shield"
                  ],
                  "type": "string"
                }
              }
            }
          },
          "privacy": {
            "description": "Privacy permission data possible to add to any address record. Privacy permissions are not a required.",
            "type": "array",
            "items": {
              "required": [
                "enterpriseCode",
                "purpose"
              ],
              "type": "object",
              "properties": {
                "enterpriseCode": {
                  "description": "Enterpise code",
                  "maxLength": 12,
                  "type": "string"
                },
                "orderTypeCode": {
                  "description": "Ordertype code, required if `permissions` is applied on order type level.\t",
                  "maxLength": 12,
                  "type": "string"
                },
                "purpose": {
                  "description": "Purpose of this permission. For example EM, TM etc.",
                  "maxLength": 20,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "SearchOrderdetails-request": {
        "description": "",
        "type": "object",
        "properties": {
          "orderId": {
            "description": "Unite ConnectID order id",
            "type": "integer"
          },
          "externalOrderId": {
            "description": "External order id provided by client",
            "maxLength": 40,
            "type": "string"
          }
        }
      },
      "SearchOrderdetails-response": {
        "description": "",
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orderId": {
                  "description": "Unite ConnectID order id",
                  "type": "integer"
                },
                "externalOrderId": {
                  "description": "External order id provided by client",
                  "maxLength": 40,
                  "type": "string"
                },
                "orderTime": {
                  "description": "Date/time of order entry in external system.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "orderStatus": {
                  "description": "Order staus:\n\n- **preliminary**: Initially created order (Status Code A)\n- **confirmed**: Received and validated    (Status Code B)\n- **processed**: Processed in Connect      (Status Code C)     \n- **failed**: The order is failed.         (Status Code D)",
                  "enum": [
                    "preliminary",
                    "confirmed",
                    "processed",
                    "failed"
                  ],
                  "type": "string"
                },
                "orderAmount": {
                  "description": "Total amount entire order",
                  "type": "integer"
                },
                "orderLines": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "productId": {
                        "description": "Product id",
                        "maxLength": 12,
                        "type": "string"
                      },
                      "description": {
                        "description": "Product description",
                        "maxLength": 40,
                        "type": "string"
                      },
                      "invoiceNumber": {
                        "description": "Invoice number",
                        "type": "integer"
                      },
                      "invoiceTime": {
                        "description": "Invoiced time\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                        "type": "integer"
                      },
                      "invoiceLineAmount": {
                        "description": "Invoiced amount on this line\n",
                        "multipleOf": 0.01,
                        "type": "number"
                      },
                      "invoiceStatus": {
                        "description": "Invoice status:\n\n- **notInvoiced**: The invoice is not sent to the customer.\n- **invoiced**: The invoice is sent to the customer.\n- **paid**: The invoice is paid by the customer.\n- **cancelled**: The invoice is cancelled.",
                        "enum": [
                          "notInvoiced",
                          "invoiced",
                          "paid",
                          "cancelled"
                        ],
                        "type": "string"
                      },
                      "deliveryStatus": {
                        "description": "Product delivery status:\n\n- **waiting**: The order is waiting to be sent to the customer.\n- **sent**: The order is sent to the customer.",
                        "enum": [
                          "waiting",
                          "sent"
                        ],
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Model-ListOrderStatus": {
        "description": "",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "orderId": {
                  "description": "ConnectID order id",
                  "type": "integer"
                },
                "externalOrderId": {
                  "description": "External order id provided by client",
                  "maxLength": 40,
                  "type": "string"
                },
                "orderTime": {
                  "description": "Date/time of order entry in external system. Usually Unix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "orderStatus": {
                  "description": "Status:\n* **preliminary**\n* **confirmed**: Received and Validated.\n* **processed**: Processed in Connect\n* **failed**",
                  "enum": [
                    "preliminary",
                    "confirmed",
                    "processed",
                    "failed"
                  ],
                  "type": "string"
                },
                "orderAmount": {
                  "description": "The total amount on the order",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "customerNumber": {
                  "description": "Customer number linked to this order.",
                  "type": "integer"
                }
              }
            }
          }
        },
        "type": "object"
      },
      "Model-Order-Payer": {
        "title": "Name and address for payer",
        "type": "object",
        "properties": {
          "customerNumber": {
            "description": "A valid and existing customer number in the Connect environment",
            "type": "integer"
          },
          "companyRegistrationNumber": {
            "description": "A valid registration number in an official registry.",
            "maxLength": 16,
            "type": "string"
          },
          "companyName": {
            "description": "Name of the company.",
            "maxLength": 40,
            "type": "string"
          },
          "department": {
            "deprecated": true,
            "description": "Name of the department. Use the departmentName field instead of this.",
            "maxLength": 40,
            "type": "string"
          },
          "departmentName": {
            "description": "Name of the department.",
            "maxLength": 40,
            "type": "string"
          },
          "personsSocialSecurityNumber": {
            "description": "A valid personal social security number.",
            "maxLength": 16,
            "type": "string"
          },
          "firstName": {
            "description": "First (given) name.",
            "maxLength": 30,
            "type": "string"
          },
          "middleName": {
            "description": "Middle name.",
            "maxLength": 30,
            "type": "string"
          },
          "lastName": {
            "description": "Last (family) name.",
            "maxLength": 30,
            "type": "string"
          },
          "coAddress": {
            "deprecated": true,
            "description": "Extra address line if needed. Use the careOfAddress field instead of this.",
            "maxLength": 40,
            "type": "string"
          },
          "careOfAddress": {
            "description": "Extra address line if needed.",
            "maxLength": 40,
            "type": "string"
          },
          "street": {
            "description": "Street address",
            "maxLength": 40,
            "type": "string"
          },
          "streetNumber": {
            "description": "Street number",
            "type": "integer"
          },
          "entrance": {
            "description": "Entrance",
            "maxLength": 12,
            "type": "string"
          },
          "floorType": {
            "description": "Valid values: \n* **H**: Main floor \n* **U**: Lower floor\n* **L**: Attic\n* **K**: Basement",
            "maxLength": 1,
            "type": "string"
          },
          "floor": {
            "description": "Floor.",
            "type": "integer"
          },
          "suite": {
            "description": "Suite",
            "maxLength": 10,
            "type": "string"
          },
          "postalCode": {
            "description": "A valid postal code for the street address.",
            "maxLength": 10,
            "type": "string"
          },
          "postalPlace": {
            "description": "Postal place",
            "maxLength": 30,
            "type": "string"
          },
          "postalAddress": {
            "description": "Postal address",
            "maxLength": 40,
            "type": "string"
          },
          "postalAddressPostalCode": {
            "description": "A valid postal code for the postal address",
            "maxLength": 10,
            "type": "string"
          },
          "postalAddressPostalPlace": {
            "description": "Postal place for the postal address.",
            "maxLength": 30,
            "type": "string"
          },
          "countryCode": {
            "description": "The country code for this address - [**ISO 3166 - alpha-2**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",
            "maxLength": 3,
            "type": "string"
          },
          "birthDate": {
            "description": "Birth date if this is a person.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.\n",
            "type": "integer"
          },
          "sex": {
            "description": "Valid values\n\n* **male**: The person is a male.\n* **female**: The person is a female.\n* **unknown**: The gender is unknown.",
            "enum": [
              "male",
              "female",
              "unknown"
            ],
            "type": "string"
          },
          "emails": {
            "description": "A list of email addresses beloning to the person or company. 0, 1 or 2 addresses (each address maximum 255 characters)",
            "maxItems": 2,
            "minItems": 0,
            "type": "array",
            "items": {
              "format": "email",
              "type": "string"
            }
          },
          "phoneNumbers": {
            "description": "A list of phone numbers. Up to four phone numbers may be submitted.\n\nA phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "invoiceEmailAddress": {
            "description": "This email will be set for invoices for products that comes in order.",
            "maxLength": 255,
            "type": "string"
          },
          "categories": {
            "description": "Custom data possible to add to any address record. Valid categories are found through the different category APIs.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "addressCategory": {
                  "description": "The address category to add to the address record.",
                  "maxLength": 12,
                  "type": "string"
                },
                "freeValue": {
                  "description": "On rare occasions, a free value can be added to the category data. Usually not allowed.",
                  "maxLength": 30,
                  "type": "string"
                }
              }
            }
          },
          "permissions": {
            "description": "Permission data possible to add to any address record. Permissions is not a required element.",
            "type": "array",
            "items": {
              "required": [
                "enterpriseCode",
                "channels",
                "channelCode",
                "permissionType"
              ],
              "type": "object",
              "properties": {
                "enterpriseCode": {
                  "description": "Enterpise code",
                  "maxLength": 12,
                  "type": "string"
                },
                "orderTypeCode": {
                  "description": "Ordertype code, required if `permissions` is applied on order type level.",
                  "maxLength": 12,
                  "type": "string"
                },
                "channels": {
                  "description": "List with permission details on distribution channel code.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "channelCode": {
                  "description": "Distribution channel code.",
                  "maxLength": 20,
                  "type": "string"
                },
                "permissionType": {
                  "description": "Valid values: \n* **permission**: \n* **shield**: ",
                  "enum": [
                    "permission",
                    "shield"
                  ],
                  "type": "string"
                }
              }
            }
          },
          "privacy": {
            "description": "Privacy permission data possible to add to any address record. Privacy permissions are not a required.",
            "type": "array",
            "items": {
              "required": [
                "enterpriseCode",
                "purpose"
              ],
              "type": "object",
              "properties": {
                "enterpriseCode": {
                  "description": "Enterpise code",
                  "maxLength": 12,
                  "type": "string"
                },
                "orderTypeCode": {
                  "description": "Ordertype code, required if `permissions` is applied on order type level.",
                  "maxLength": 12,
                  "type": "string"
                },
                "purpose": {
                  "description": "Purpose of this permission. For example EM, TM etc.",
                  "maxLength": 20,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Model-RegisterCustomer-request": {
        "title": "Name and address for customer",
        "type": "object",
        "properties": {
          "companyRegistrationNumber": {
            "description": "A valid registration number in an official registry",
            "maxLength": 16,
            "type": "string"
          },
          "companyName": {
            "description": "Name of the company",
            "maxLength": 40,
            "type": "string"
          },
          "departmentName": {
            "description": "Name of the department",
            "maxLength": 40,
            "type": "string"
          },
          "personsSocialSecurityNumber": {
            "description": "A valid personal social security number",
            "maxLength": 16,
            "type": "string"
          },
          "firstName": {
            "description": "First name",
            "maxLength": 30,
            "type": "string"
          },
          "middleName": {
            "description": "Middle name",
            "maxLength": 30,
            "type": "string"
          },
          "lastName": {
            "description": "Last name",
            "maxLength": 30,
            "type": "string"
          },
          "careOfAddress": {
            "description": "Extra address line if needed",
            "maxLength": 40,
            "type": "string"
          },
          "street": {
            "description": "Street address",
            "maxLength": 40,
            "type": "string"
          },
          "streetNumber": {
            "description": "Street number",
            "type": "integer"
          },
          "entrance": {
            "description": "Entrance",
            "maxLength": 12,
            "type": "string"
          },
          "floorType": {
            "description": "Valid values:\n* **H**: Main floor\n* **U**: Lower floor\n* **L**: Attic\n* **K**: Basement",
            "maxLength": 1,
            "type": "string"
          },
          "floor": {
            "description": "Floor",
            "type": "integer"
          },
          "suite": {
            "description": "Suite",
            "maxLength": 10,
            "type": "string"
          },
          "postalCode": {
            "description": "A valid postal code for the street address",
            "maxLength": 10,
            "type": "string"
          },
          "postalPlace": {
            "description": "Postal place",
            "maxLength": 30,
            "type": "string"
          },
          "postalAddress": {
            "description": "Postal address",
            "maxLength": 40,
            "type": "string"
          },
          "postalAddressPostalCode": {
            "description": "A valid postal code for the postal address",
            "maxLength": 10,
            "type": "string"
          },
          "postalAddressPostalPlace": {
            "description": "Postal place for the postal address.",
            "maxLength": 30,
            "type": "string"
          },
          "countryCode": {
            "description": "The country code for this address - [**ISO 3166 - alpha-2**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",
            "maxLength": 3,
            "type": "string"
          },
          "birthDate": {
            "description": "Birth date if this is a person.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.\n",
            "type": "integer"
          },
          "sex": {
            "description": "Valid values\n\n* **male**: The person is a male.\n* **female**: The person is a female.\n* **unknown**: The gender is unknown.",
            "enum": [
              "male",
              "female",
              "unknown"
            ],
            "type": "string"
          },
          "emails": {
            "description": "A list of email addresses beloning to the person or company. 0, 1 or 2 addresses (each address maximum 255 characters)",
            "maxItems": 2,
            "minItems": 0,
            "type": "array",
            "items": {
              "format": "email",
              "type": "string"
            }
          },
          "phoneNumbers": {
            "description": "A list of phone numbers. Up to four phone numbers may be submitted.\n\nA phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
            "maxItems": 4,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "description": "Custom data possible to add to any address record. Valid categories are found through the different category APIs.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "addressCategory": {
                  "description": "The address category to add to the address record.",
                  "maxLength": 12,
                  "type": "string"
                },
                "freeValue": {
                  "description": "On rare occasions, a free value can be added to the category data. Usually not allowed.",
                  "maxLength": 30,
                  "type": "string"
                }
              }
            }
          },
          "permissions": {
            "description": "Permission data possible to add to any address record. Permissions is not a required element.",
            "type": "array",
            "items": {
              "required": [
                "enterpriseCode",
                "channels",
                "channelCode",
                "permissionType"
              ],
              "type": "object",
              "properties": {
                "enterpriseCode": {
                  "description": "Enterpise code",
                  "maxLength": 12,
                  "type": "string"
                },
                "orderTypeCode": {
                  "description": "Ordertype code, required if `permissions` is applied on order type level.",
                  "maxLength": 12,
                  "type": "string"
                },
                "channels": {
                  "description": "List with permission details on distribution channel code.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "channelCode": {
                  "description": "Distribution channel code.",
                  "maxLength": 20,
                  "type": "string"
                },
                "permissionType": {
                  "description": "Valid values:\n* **permission**\n* **shield**",
                  "enum": [
                    "permission",
                    "shield"
                  ],
                  "type": "string"
                }
              }
            }
          },
          "privacy": {
            "description": "Privacy permission data possible to add to any address record. Privacy permissions are not a required.",
            "type": "array",
            "items": {
              "required": [
                "enterpriseCode",
                "purpose"
              ],
              "type": "object",
              "properties": {
                "enterpriseCode": {
                  "description": "Enterpise code",
                  "maxLength": 12,
                  "type": "string"
                },
                "orderTypeCode": {
                  "description": "Ordertype code, required if `permissions` is applied on order type level.",
                  "maxLength": 12,
                  "type": "string"
                },
                "purpose": {
                  "description": "Purpose of this permission. For example EM, TM etc.",
                  "maxLength": 20,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ListBasicInvoiceInfo-response": {
        "description": "",
        "type": "object",
        "properties": {
          "invoices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "invoiceNumber": {
                  "description": "The unique number of the invoice for this company",
                  "minimum": 1,
                  "type": "integer"
                },
                "companyCode": {
                  "description": "The company that owns this invoice",
                  "maxLength": 12,
                  "type": "string"
                },
                "invoiceOfferCount": {
                  "description": "Invoice offer count. If this is more than 1, this invoice contains alternative offers.",
                  "type": "integer"
                },
                "invoiceDate": {
                  "format": "date",
                  "description": "The date of creating the invoice. Format: YYYY-MM-DD",
                  "type": "string"
                },
                "invoicePaymentStatus": {
                  "description": "The status of invoice payment:\n\n- **paid**: The invoice is paid\n- **notPaid**: The invoice is not paid\n- **partiallyPaid**: The invoice is partially paid",
                  "enum": [
                    "paid",
                    "notPaid",
                    "partiallyPaid"
                  ],
                  "type": "string"
                },
                "invoiceAmount": {
                  "description": "The amount for the first (and possibly only) offer on this invoice",
                  "multipleOf": 0.01,
                  "minimum": 0,
                  "type": "number"
                },
                "invoiceCurrency": {
                  "description": "Currency for the entire invoice has to follow the standard [**ISO4217 - alphabetic code**](https://en.wikipedia.org/wiki/ISO_4217).",
                  "maxLength": 3,
                  "type": "string"
                },
                "invoiceHotelUrl": {
                  "description": "Url to the PDF invoice",
                  "type": "string"
                },
                "invoiceDueDate": {
                  "format": "date",
                  "description": "Invoice due date. Format: YYYY-MM-DD",
                  "type": "string"
                },
                "invoiceType": {
                  "description": "The type of invoice:\n\n- **invoice**: Normal invoice  (ex. first invoice)\n- **reminderInvoice**: A reminder on unpaid invoice\n- **finalInvoice**: It is the last and final invoice.  ",
                  "enum": [
                    "invoice",
                    "reminderInvoice",
                    "finalInvoice"
                  ],
                  "type": "string"
                },
                "paidAmount": {
                  "description": "The amount that was paid on this invoice.",
                  "multipleOf": 0.01,
                  "minimum": 0,
                  "type": "number"
                },
                "description": {
                  "description": "The description of invoice ex. product name",
                  "maxLength": 40,
                  "type": "string"
                },
                "fromTime": {
                  "description": "This invoice covers the period from this issue/date. Format: YYYY-MM-DD",
                  "maxLength": 10,
                  "type": "string"
                },
                "includeTime": {
                  "description": "Including this issue/date Format: YYYY-MM-DD",
                  "maxLength": 10,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ListInvoiceDetails-response": {
        "description": "",
        "type": "object",
        "properties": {
          "invoiceInfoWithDetail": {
            "type": "object",
            "properties": {
              "invoiceNumber": {
                "description": "The unique number of the invoice for this company",
                "minimum": 1,
                "type": "integer"
              },
              "companyCode": {
                "description": "The company that owns this invoice",
                "maxLength": 12,
                "type": "string"
              },
              "invoiceOfferCount": {
                "description": "Invoice offer count. If this is more than 1, this invoice contains alternative offers.",
                "type": "integer"
              },
              "invoiceDate": {
                "format": "date",
                "description": "The date of creating the invoice. Format: YYYY-MM-DD",
                "type": "string"
              },
              "invoicePaymentStatus": {
                "description": "The status of invoice payment:\n\n- **paid**: The invoice is paid\n- **notPaid**: The invoice is not paid\n- **partiallyPaid**: The invoice is partially paid",
                "enum": [
                  "paid",
                  "notPaid",
                  "partiallyPaid"
                ],
                "type": "string"
              },
              "invoiceAmount": {
                "description": "The amount for the first (and possibly only) offer on this invoice",
                "multipleOf": 0.01,
                "minimum": 0,
                "type": "number"
              },
              "invoiceCurrency": {
                "description": "Currency for the entire invoice has to follow the standard [**ISO4217 - alphabetic code**](https://en.wikipedia.org/wiki/ISO_4217).",
                "maxLength": 3,
                "type": "string"
              },
              "invoiceHotelUrl": {
                "description": "Url to the PDF invoice",
                "type": "string"
              },
              "invoiceDueDate": {
                "format": "date",
                "description": "Invoice due date. Format: YYYY-MM-DD",
                "type": "string"
              },
              "invoiceType": {
                "description": "The type of invoice:\n- **invoice**: Normal invoice  (ex. first invoice)\n- **reminderInvoice**: A reminder on unpaid invoice\n- **finalInvoice**: It is the last and final invoice.  ",
                "enum": [
                  "invoice",
                  "reminderInvoice",
                  "finalInvoice"
                ],
                "type": "string"
              },
              "paidAmount": {
                "description": "The amount that was paid on this invoice.",
                "multipleOf": 0.01,
                "minimum": 0,
                "type": "number"
              },
              "description": {
                "description": "The description of invoice ex. product name",
                "maxLength": 40,
                "type": "string"
              },
              "fromTime": {
                "description": "This invoice covers the period from this issue/date. Format: YYYY-MM-DD",
                "maxLength": 10,
                "type": "string"
              },
              "includeTime": {
                "description": "Including this issue/date. Format: YYYY-MM-DD",
                "maxLength": 10,
                "type": "string"
              },
              "invoiceOfferInfo": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "offerNumber": {
                      "description": "Offer number on invoice",
                      "minimum": 1,
                      "type": "integer"
                    },
                    "invoiceAmount": {
                      "description": "Amount on invoice",
                      "multipleOf": 0.01,
                      "type": "number"
                    },
                    "invoiceVatAmount": {
                      "description": "Tax amount on invoice",
                      "multipleOf": 0.01,
                      "type": "number"
                    },
                    "customerIdentification": {
                      "description": "Customer identification also known as KID",
                      "maxLength": 32,
                      "type": "string"
                    },
                    "invoiceLineInfoList": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "productCode": {
                            "description": "Product code",
                            "maxLength": 12,
                            "type": "string"
                          },
                          "invoiceAmount": {
                            "description": "Amount on invoice line",
                            "multipleOf": 0.01,
                            "type": "number"
                          },
                          "invoiceVatAmount": {
                            "description": "Tax amount on invoice line",
                            "multipleOf": 0.01,
                            "type": "number"
                          },
                          "invoiceVatPercent": {
                            "description": "Tax percentage on line",
                            "multipleOf": 0.01,
                            "type": "number"
                          },
                          "description": {
                            "description": "Product name",
                            "maxLength": 40,
                            "type": "string"
                          },
                          "fromTime": {
                            "description": "Period start. Format: YYYY-MM-DD",
                            "maxLength": 10,
                            "type": "string"
                          },
                          "includeTime": {
                            "description": "Period end. Format: YYYY-MM-DD",
                            "maxLength": 10,
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Model-ListNextDistributions": {
        "description": "",
        "type": "object",
        "properties": {
          "nextDistribution": {
            "type": "object",
            "properties": {
              "issue": {
                "description": "The next issue that is going to be publish",
                "maxLength": 10,
                "type": "string"
              },
              "deliveryDate": {
                "description": "Delivery date of next unpublished issue.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                "type": "integer"
              },
              "distributionDate": {
                "description": "Distribution date of next unpublished issue.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                "type": "integer"
              }
            }
          },
          "nextDelivery": {
            "type": "object",
            "properties": {
              "issue": {
                "description": "Next possible issue for delivery to the customer",
                "maxLength": 10,
                "type": "string"
              },
              "deliveryDate": {
                "description": "Delivery date of next possible issue for delivery to the customer.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                "type": "integer"
              },
              "distributionDate": {
                "description": "Distribution date of next possible issue for delivery to the customer.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                "type": "integer"
              }
            }
          }
        }
      },
      "Model-ListConsentEventHistory": {
        "type": "object",
        "properties": {
          "issuer": {
            "description": "Identification of the issuer principal of the consent\t",
            "maxLength": 255,
            "type": "string"
          },
          "subject": {
            "description": "Identification of the subject e.g. customer number or credential",
            "maxLength": 255,
            "type": "string"
          },
          "subjectType": {
            "description": "The vaild type of subject is one of these:\n\n- **CONNECT**\n- **CONNECTID**\n- **EXTERNAL**\n- **ORDER**",
            "enum": [
              "CONNECT",
              "CONNECTID",
              "EXTERNAL",
              "ORDER"
            ],
            "type": "string"
          },
          "consents": {
            "description": "Consents to given `issuer` and `subject`",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "consentId": {
                  "description": "Consent id",
                  "type": "integer"
                },
                "target": {
                  "description": "Identification of the target of consent (e.g. URL of a policy)",
                  "maxLength": 255,
                  "type": "string"
                },
                "scope": {
                  "description": "The scope of the consent can refer to a section or clause in the `target`",
                  "maxLength": 255,
                  "type": "string"
                },
                "events": {
                  "description": "Events to given consent",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "consentEventId": {
                        "description": "Consent event id",
                        "type": "integer"
                      },
                      "created": {
                        "description": "Consent creation date\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                        "type": "integer"
                      },
                      "source": {
                        "description": "Identification of the source of the consent principal.",
                        "maxLength": 255,
                        "type": "string"
                      },
                      "action": {
                        "description": "It informs if the consent is granted.\n\n- **true**: The consent is granted.\n- **false**:  The consent is revoked or not granted.",
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Model-ListConsentGivenIssuer": {
        "type": "object",
        "properties": {
          "issuer": {
            "description": "Identification of the issuer principal of the consent",
            "maxLength": 255,
            "type": "string"
          },
          "consents": {
            "description": "Consents to given issuer",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "consentId": {
                  "description": "Identification number of consent",
                  "type": "integer"
                },
                "consentGroupId": {
                  "description": "Group id\t",
                  "type": "integer"
                },
                "target": {
                  "description": "Identification of the target of consent (e.g. URL of a policy)",
                  "maxLength": 255,
                  "type": "string"
                },
                "scope": {
                  "description": "The scope of the consent can refer to a section or clause in the target",
                  "maxLength": 255,
                  "type": "string"
                },
                "parentConsentId": {
                  "description": "Parent consent id - if belongs to other consent",
                  "type": "integer"
                },
                "selectionOrder": {
                  "description": "Selection order for display",
                  "type": "integer"
                },
                "displayMode": {
                  "description": "Display behavior of consent:\n\n- **I**: Display if parent is inactive.\n- **A**: Display if parent is active\n- **S**: Display regardless of parent state.\n- **null**: Default by application",
                  "default": "null",
                  "enum": [
                    "I",
                    "A",
                    "S",
                    "null"
                  ],
                  "type": "string"
                },
                "created": {
                  "description": "Consent creation date\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "texts": {
                  "description": "Consent texts",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "languageCode": {
                        "description": "Language code for consent texts. Combine [**ISO 639**](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code (lower-case two letter code) with underscore ( _ ) and a [**ISO-3166**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code (upper-case two letter). Example: en_GB",
                        "maxLength": 10,
                        "type": "string"
                      },
                      "name": {
                        "description": "Consent name",
                        "maxLength": 255,
                        "type": "string"
                      },
                      "description": {
                        "description": "Consent description",
                        "maxLength": 1024,
                        "type": "string"
                      }
                    }
                  }
                },
                "active": {
                  "description": "It informs if the consent group is in use.\n\n- **true**: The consent group is in use.\n- **false**:  The consent group is not in use.",
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "Model-ListConsentGroups": {
        "type": "object",
        "properties": {
          "issuer": {
            "description": "Used to identify who has required the consent, ex. name of the company.",
            "maxLength": 255,
            "type": "string"
          },
          "groups": {
            "description": "Used to structure the consents that belongs together based on your choice.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "consentGroupId": {
                  "description": "The identfication number of a gruop of consents.",
                  "type": "integer"
                },
                "created": {
                  "description": "Group creation date.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "selectionOrder": {
                  "description": "Selection order for display",
                  "type": "integer"
                },
                "texts": {
                  "description": "A consent text for group of consents in different language.",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "languageCode": {
                        "description": "Language code for group texts.\n\nCombine [**ISO 639**](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language\ncode (lower-case two letter code) with underscore ( _ ) and  a [**ISO-3166**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code (upper-case two letter).",
                        "maxLength": 10,
                        "type": "string"
                      },
                      "name": {
                        "description": "The name of consent group in the chosen language.",
                        "maxLength": 255,
                        "type": "string"
                      },
                      "description": {
                        "description": "The description of consent group in the chosen language.",
                        "maxLength": 1024,
                        "type": "string"
                      }
                    }
                  }
                },
                "active": {
                  "description": "It informs if the consent group is in use.\n\n- **true**: The consent group is in use.\n- **false**:  The consent group is not in use.",
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "Model-RegisterConsentEvent-request": {
        "title": "RegisterConsentEvent - request",
        "required": [
          "subject",
          "subjectType",
          "action"
        ],
        "type": "object",
        "properties": {
          "consentId": {
            "description": "Consent ID for this event - required unless `target` / `scope` is provided",
            "type": "integer"
          },
          "consentTarget": {
            "description": "Identification of the `target` of the consent (e.g. URL of a policy) - required if none `consentId` is provided",
            "maxLength": 255,
            "type": "string"
          },
          "consentScope": {
            "description": "Scope of the consent. Typically, this will refer to a section or clause in the `target` - required if none `consentId` is provided",
            "maxLength": 255,
            "type": "string"
          },
          "subject": {
            "description": "Identification of the subject:\r\n\r\n* Enter **customer number** for `subjectType` CONNECT\r\n* Enter **credential** for `subjectType` CONNECTID\r\n* Enter **external id** for `subjectType` EXTERNAL\r\n* Enter **ConnectID orderid** for `subjectType` ORDER.",
            "maxLength": 255,
            "type": "string"
          },
          "subjectType": {
            "description": "Type of subject, allowed is:\n* **CONNECT**\n* **CONNECTID** \n* **EXTERNAL** \n* **ORDER**",
            "enum": [
              "CONNECT",
              "CONNECTID",
              "EXTERNAL",
              "ORDER"
            ],
            "type": "string"
          },
          "source": {
            "description": "Identification of the source of the consent principal",
            "maxLength": 255,
            "type": "string"
          },
          "action": {
            "description": "It informs if the consent is granted.\n\n* **true:** The consent is granted.\n* **false:** The consent is revoked or not granted.",
            "type": "boolean"
          },
          "eventTime": {
            "description": "Time when the consent was given, if different from the current time.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
            "type": "integer"
          },
          "data": {
            "format": "byte",
            "description": "Data documenting the collecting of the consent, base64-encoded.",
            "type": "string"
          }
        }
      },
      "Model-RegisterConsentEvent-response": {
        "title": "RegisterConsentEvent - response",
        "type": "object",
        "properties": {
          "consentId": {
            "description": "Consent ID for this event",
            "type": "integer"
          },
          "subject": {
            "description": "Identification of the subject e.g. customer number or credential",
            "maxLength": 255,
            "type": "string"
          },
          "subjectType": {
            "description": "Type of subject, allowed is:\n* **CONNECT**\n* **CONNECTID**\n* **EXTERNAL**\t",
            "enum": [
              "CONNECT",
              "CONNECTID",
              "EXTERNAL"
            ],
            "type": "string"
          },
          "consentEventId": {
            "description": "The ID of this event",
            "type": "integer"
          },
          "created": {
            "description": "The time this event was saved.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
            "type": "integer"
          },
          "source": {
            "description": "Identification of the source of the consent principal",
            "maxLength": 255,
            "type": "string"
          },
          "action": {
            "description": "It informs if the consent is granted.\n\n- **true**: The consent is granted.\n- **false**:  The consent is revoked or not granted.",
            "type": "boolean"
          },
          "childEvents": {
            "description": "If consent has flag followParent set, so all child consent will be also pushed. Here will be list of changed consent/events to main consent/event",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "consentEventId": {
                  "description": "The ID of this event for child consent",
                  "type": "integer"
                },
                "consentId": {
                  "description": "Consent ID for child consent",
                  "type": "integer"
                },
                "created": {
                  "description": "The time this event was saved for child consent.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "action": {
                  "description": "It informs if the consent is granted.\n\n- **true**: The child consent is granted.\n- **false**: The child consent is revoked or not granted.",
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "ListDistributedIssues-response": {
        "description": "",
        "type": "object",
        "properties": {
          "deliveredIssues": {
            "description": "List of distributed issues",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "issue": {
                  "description": "Issue code",
                  "maxLength": 10,
                  "type": "string"
                },
                "distributedDate": {
                  "description": "Distributed date\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "Model-ListDeliveryStops": {
        "description": "",
        "type": "object",
        "properties": {
          "deliveryStops": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "Unique id for this stop",
                  "type": "integer"
                },
                "product": {
                  "description": "Product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "stopTime": {
                  "description": "Time to stop\t\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "stopEndTime": {
                  "description": "Time to start after a stop period\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC..",
                  "type": "integer"
                },
                "stopType": {
                  "description": "Permanent or temporary stop. Stop type to be used: \n\n* **permanent:** permanent stop\n* **temporary:** temporary stop\n* **donation:** donation stop, i.e somebody else is getting product in stop period\n* **storing:** storing stop, i.e issues in period will be post distributed\n* **noDelivery:** no delivery, i.e issues in period will not be distributed and no extension of paid period.",
                  "enum": [
                    "permanent",
                    "temporary",
                    "donation",
                    "storing",
                    "noDelivery"
                  ],
                  "type": "string"
                },
                "deliveryStopChannel": {
                  "description": "The stop channel-code for the stop (Ex. \"CS\", \"EMAIL\",\"INV\"...)",
                  "maxLength": 12,
                  "type": "string"
                },
                "deliveryStopReason": {
                  "description": "The stop reason-code for the stop (Ex. \"BS\", \"DS\", \"MO\"...)",
                  "maxLength": 2,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "RegisterDeliveryStops-request": {
        "description": "",
        "type": "object",
        "properties": {
          "deliveryStop": {
            "required": [
              "product",
              "stopTime",
              "stopType"
            ],
            "type": "object",
            "properties": {
              "id": {
                "description": "Unique id for this stop, change existing stop if id is given",
                "type": "integer"
              },
              "product": {
                "description": "Product to be stopped",
                "maxLength": 12,
                "type": "string"
              },
              "stopTime": {
                "description": "When to stop delivery.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC..",
                "type": "integer"
              },
              "stopEndTime": {
                "description": "When to start after a stop period. Required when `stopType` is not permanent.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                "type": "integer"
              },
              "stopType": {
                "description": "Permanent or temporary stop. Stop type to be used: \n\n* **permanent:** permanent stop\n* **temporary:** temporary stop\n* **donation:** donation stop, i.e somebody else is getting product in stop period\n* **storing:** storing stop, i.e issues in period will be post distributed\n* **noDelivery:** no delivery, i.e issues in period will not be distributed and no extension of paid period. A digital product will be started in the stop period.",
                "enum": [
                  "permanent",
                  "temporary",
                  "donation",
                  "storing",
                  "noDelivery"
                ],
                "type": "string"
              },
              "deliveryStopChannel": {
                "description": "The stop channel-code for the stop (Ex. \"CS\", \"EMAIL\",\"INV\"...)",
                "maxLength": 12,
                "type": "string"
              },
              "deliveryStopReason": {
                "description": "The stop reason-code for the stop (Ex. \"BS\", \"DS\", \"MO\"...)",
                "maxLength": 2,
                "type": "string"
              }
            }
          }
        }
      },
      "RegisterDeliveryStops-response": {
        "description": "",
        "type": "object",
        "properties": {
          "deliveryStops": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "Unique id for this stop",
                  "type": "integer"
                },
                "product": {
                  "description": "Product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "stopTime": {
                  "description": "Time to stop\t\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "stopEndTime": {
                  "description": "Time to start after a stop period\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "stopType": {
                  "description": "Permanent or temporary stop. Stop type to be used: \n\n* **permanent:** permanent stop\n* **temporary:** temporary stop\n* **donation:** donation stop, i.e somebody else is getting product in stop period\n* **storing:** storing stop, i.e issues in period will be post distributed\n* **noDelivery:** no delivery, i.e issues in period will not be distributed and no extension of paid period.",
                  "enum": [
                    "permanent",
                    "temporary",
                    "donation",
                    "storing",
                    "noDelivery"
                  ],
                  "type": "string"
                },
                "deliveryStopChannel": {
                  "description": "The stop channel-code for the stop (Ex. \"CS\", \"EMAIL\",\"INV\"...)",
                  "maxLength": 12,
                  "type": "string"
                },
                "deliveryStopReason": {
                  "description": "The stop reason-code for the stop (Ex. \"BS\", \"DS\", \"MO\"...)",
                  "maxLength": 2,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "RemoveDeliveryStops-response": {
        "description": "",
        "type": "object",
        "properties": {
          "deliveryStops": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "Unique id for this stop",
                  "type": "integer"
                },
                "product": {
                  "description": "Product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "stopTime": {
                  "description": "Time to stop\t\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "stopEndTime": {
                  "description": "Time to start after a stop period\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC..",
                  "type": "integer"
                },
                "stopType": {
                  "description": "Permanent or temporary stop. Stop type to be used: \n\n* **permanent:** permanent stop\n* **temporary:** temporary stop\n* **donation:** donation stop, i.e somebody else is getting product in stop period\n* **storing:** storing stop, i.e issues in period will be post distributed\n* **noDelivery:** no delivery, i.e issues in period will not be distributed and no extension of paid period.",
                  "enum": [
                    "permanent",
                    "temporary",
                    "donation",
                    "storing",
                    "noDelivery"
                  ],
                  "type": "string"
                },
                "deliveryStopChannel": {
                  "description": "The stop channel-code for the stop (Ex. \"CS\", \"EMAIL\",\"INV\"...)",
                  "maxLength": 12,
                  "type": "string"
                },
                "deliveryStopReason": {
                  "description": "The stop reason-code for the stop (Ex. \"BS\", \"DS\", \"MO\"...)",
                  "maxLength": 2,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ListSharedSubscriptions-response": {
        "description": "",
        "type": "object",
        "properties": {
          "sharedSubscriptions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productCode": {
                  "description": "A unique code for the product",
                  "maxLength": 12,
                  "type": "string"
                },
                "stopped": {
                  "description": "Informs if the subscription is stopped.\n\n- **true**: The subscription is stopped.\n- **false**:  The subscription is not stopped.",
                  "type": "boolean"
                },
                "startTime": {
                  "description": "Start of the subscription period.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "endTime": {
                  "description": "End of the subscription period.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "paid": {
                  "description": "Informs if the subscription period is paid.\n\n- **true**: The subscription period is paid.\n- **false**:  The subscription period is unpaid.",
                  "type": "boolean"
                },
                "customerNumber": {
                  "description": "Owner customer number",
                  "type": "integer"
                },
                "customerName": {
                  "$ref": "#/components/schemas/Model-Name"
                },
                "shareCode": {
                  "description": "Share code, the unique key to find given share",
                  "maxLength": 255,
                  "type": "string"
                },
                "shareType": {
                  "description": "The type of sharing:\n\n- **USERS**\n- **B2B**",
                  "type": "string"
                },
                "shareStatus": {
                  "description": "The status of sharing:\n* **REQUEST_ACCEPTED**: The sharing request is accepted.\n* **SHARING_ENDED**: The sharing is ended.",
                  "enum": [
                    "REQUEST_ACCEPTED",
                    "SHARING_ENDED"
                  ],
                  "type": "string"
                },
                "shareStartTime": {
                  "description": "Start time of sharing\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                  "type": "integer"
                },
                "shareEndTime": {
                  "description": "End time of sharing\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "Model-Message-response": {
        "description": "",
        "type": "object",
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "Message id referencing to message IN",
                  "type": "integer"
                },
                "date": {
                  "description": "Message date\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "direction": {
                  "description": "Different direction:\n- **IN**: Message to customer service\n- **OUT**: Answer from customer service",
                  "enum": [
                    "IN",
                    "OUT"
                  ],
                  "type": "string"
                },
                "messageSubject": {
                  "description": "The subject on the message to customer service.",
                  "maxLength": 40,
                  "type": "string"
                },
                "messageContent": {
                  "description": "Message content",
                  "maxLength": 32000,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "SendSubscriptionShareInvitation-request": {
        "description": "",
        "required": [
          "contact",
          "contactType",
          "productCode"
        ],
        "type": "object",
        "properties": {
          "contact": {
            "description": "Email address or telephone number. <br/> A phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164).",
            "type": "string"
          },
          "contactType": {
            "description": "* **A_EMAIL:** Email address\n* **B_PHONENUMBER:** Telephone number",
            "type": "string"
          },
          "productCode": {
            "description": "Product the subscriber wishes to share",
            "maxLength": 12,
            "type": "string"
          },
          "firstName": {
            "description": "First (given) name.",
            "maxLength": 30,
            "type": "string"
          },
          "lastName": {
            "description": "Last (family) name.",
            "maxLength": 30,
            "type": "string"
          }
        }
      },
      "Model-CheckAccess-request": {
        "description": "",
        "type": "object",
        "properties": {
          "product": {
            "description": "Check if user has access base on product",
            "type": "string"
          },
          "articleId": {
            "description": "Check if user has access base on specific article id",
            "type": "string"
          },
          "domain": {
            "description": "Check if user has access base on domain",
            "type": "string"
          },
          "ip": {
            "description": "Check if user has access base on IP address",
            "type": "string"
          },
          "categoryType": {
            "description": "Check if user has access based on any subscription with category having this category type",
            "type": "string"
          },
          "accessAzureAd": {
            "description": "Check if user has access to azure active directory :\n\n* **true**:  To check if user has access to azure AD\n* **false**: Do not check if user has access to azure AD.",
            "type": "boolean"
          },
          "accessAidFamily": {
            "description": "Check if user or their aid family has access to given product : \n\n* **true**:  To check if user or family has access to given product\n* **false**: Do not check if user or family has access to given product.",
            "type": "boolean"
          },
          "accessDomain": {
            "description": "Check if user has domain access based on category type : \n\n* **true**:  To check if user has domain access based on category type.\n* **false**: Do not check if user has domain access based on category type.",
            "type": "boolean"
          },
          "accessArticle": {
            "description": "Return a complete article id list that user has access to, unless articleId is also specified : \n\n* **true**:  To look up article id list\n* **false**: Do not look up article id list.",
            "type": "boolean"
          },
          "uniqueId": {
            "description": "Check if user has access base on unique ID (from Profile API).",
            "type": "string"
          },
          "customerNumber": {
            "description": "Check if user has access base on a valid and existing customer number in the Connect environment.",
            "type": "integer"
          },
          "credential": {
            "description": "Check if user has access base on credential e.g. email address or phone number.",
            "maxLength": 60,
            "type": "string"
          }
        }
      },
      "ListCategoryTypes-response": {
        "description": "",
        "type": "object",
        "properties": {
          "categoryTypeList": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "categoryType": {
                  "description": "Category type code",
                  "maxLength": 12,
                  "type": "string"
                },
                "description": {
                  "description": "Description of this `categoryType`",
                  "maxLength": 255,
                  "type": "string"
                },
                "hasPriority": {
                  "description": "Indicates if the categories on this type are prioritised:\n* **Y**: The category is prioritized.\n* **N**: The category is not prioritized.",
                  "maxLength": 1,
                  "type": "string"
                },
                "maxCodes": {
                  "description": "Max number of categories, if any, from this type allowed on a customer",
                  "type": "integer"
                },
                "useFreeValue": {
                  "description": "How free values are used on this type:\n* **text** means string codes\n* **number** means number codes\n* **none** means no free values allowed",
                  "enum": [
                    "text",
                    "number",
                    "none"
                  ],
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "StartSubscription-request": {
        "description": "",
        "required": [
          "product",
          "startTime",
          "copies",
          "couponCode",
          "couponNumber"
        ],
        "type": "object",
        "properties": {
          "companyCode": {
            "description": "Company code for the product",
            "maxLength": 12,
            "type": "string"
          },
          "product": {
            "description": "product code for the product",
            "maxLength": 12,
            "type": "string"
          },
          "startTime": {
            "description": "The time the subscription should start.\n\nUnix Epoch timestamps in milliseconds since 1st January\n1970 UTC",
            "type": "integer"
          },
          "endTime": {
            "description": "The time the subscription should end.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC",
            "type": "integer"
          },
          "copies": {
            "description": "Number of copies (often 1)",
            "type": "integer"
          },
          "couponCode": {
            "description": "Coupon code used to start the subscription",
            "maxLength": 12,
            "type": "string"
          },
          "couponNumber": {
            "description": "Coupon number used to start the subscription.",
            "type": "integer"
          },
          "customerReference": {
            "description": "Coustomer reference",
            "maxLength": 37,
            "type": "string"
          }
        }
      },
      "ListSharedSubscribers-response": {
        "description": "",
        "type": "object",
        "properties": {
          "sharedUserInformationList": {
            "description": "List of shared subscribers",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "userId": {
                  "description": "userId of receiver for this share.",
                  "type": "integer"
                },
                "startTime": {
                  "description": "Start date for share\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "endTime": {
                  "description": "End date for share\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "shareStatus": {
                  "description": "Status for share\n* **SHARE_REQUEST_SENT**: A sharing request is sent.\n* **REQUEST_ACCEPTED**: Sharing request is accepted.\n* **REQUEST_DECLINED**: Sharing request is declined.\n* **SHARING_ENDED**: Sharing is ended.",
                  "enum": [
                    "SHARE_REQUEST_SENT",
                    "REQUEST_ACCEPTED",
                    "REQUEST_DECLINED",
                    "SHARING_ENDED"
                  ],
                  "type": "string"
                },
                "shareContact": {
                  "description": "Contact information - Mail or phone number. <br/> A phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164).",
                  "type": "string"
                },
                "shareContactType": {
                  "description": "Type of share contact\n* **A**: Email address\n* **B**: Phone number",
                  "enum": [
                    "A",
                    "B"
                  ],
                  "type": "string"
                },
                "firstName": {
                  "description": "Contact information - first name.",
                  "maxLength": 30,
                  "type": "string"
                },
                "lastName": {
                  "description": "Contact information - last name.",
                  "maxLength": 30,
                  "type": "string"
                },
                "productName": {
                  "description": "Product that is being shared",
                  "type": "string"
                },
                "productCode": {
                  "description": "A unique code for the product",
                  "maxLength": 12,
                  "type": "string"
                },
                "shareCode": {
                  "description": "Share code, the unique key to find given share",
                  "maxLength": 256,
                  "type": "string"
                },
                "customerNumber": {
                  "description": "CustomerNumber of receiver for this share.",
                  "type": "integer"
                }
              }
            }
          },
          "sharedSubscriptionSummary": {
            "description": "List of shared subscription summaries(how many shares is in use).",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productCode": {
                  "description": "The product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "sharesInUseCount": {
                  "description": "How many shares is in use.",
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "RegisterComplaint-request": {
        "description": "",
        "required": [
          "product",
          "issue",
          "complaintAction"
        ],
        "type": "object",
        "properties": {
          "product": {
            "description": "Product code",
            "maxLength": 12,
            "type": "string"
          },
          "issue": {
            "description": "Issue code",
            "maxLength": 10,
            "type": "string"
          },
          "complaintAction": {
            "description": "Complaint action code",
            "maxLength": 2,
            "type": "string"
          },
          "createPostDistribution": {
            "description": "Whether to create postdistribution or not.\n\n* **true**: The postdistribution is created.\n* **false**: The postdistribution is not created.",
            "default": false,
            "type": "boolean"
          }
        }
      },
      "Model-Complaint-response": {
        "description": "",
        "type": "object",
        "properties": {
          "product": {
            "description": "Product code",
            "maxLength": 12,
            "type": "string"
          },
          "complaintActions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "complaintCode": {
                  "description": "Complaint action code value",
                  "maxLength": 2,
                  "type": "string"
                },
                "description": {
                  "description": "Description of the complaint action",
                  "maxLength": 40,
                  "type": "string"
                },
                "postDistribution": {
                  "description": "Whether this complaint action can trigger a postdistribution.\n* **Y**: The postdistribution is created.\n* **N**: The postdistribution is not created.",
                  "default": "N",
                  "maxLength": 1,
                  "type": "string"
                }
              }
            }
          },
          "complaints": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "issue": {
                  "description": "Issue code",
                  "maxLength": 10,
                  "type": "string"
                },
                "existingComplaint": {
                  "description": "Whether this is an existing complaint.\n* **Y**: There is an existing complaint.\n* **N**: There is not an existing complaint.",
                  "maxLength": 1,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "CheckCredentialClientMode-request": {
        "description": "",
        "required": [
          "credentials"
        ],
        "type": "object",
        "properties": {
          "credentials": {
            "description": "List of credentials to check",
            "type": "array",
            "items": {
              "type": "string",
              "example": [
                4798765432,
                "kari.nordmann@gmail.com"
              ]
            }
          }
        }
      },
      "CheckCredentialClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "credentials": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "credential": {
                  "description": "Formatted credential",
                  "maxLength": 60,
                  "type": "string"
                },
                "credentialType": {
                  "description": "Credential type (public):\n* **A**: Email\n* **B**: SMS Capable phone\n* **C**: Not SMS capable phone\n* **D**: aID (Amedia)\n* **F**: Facebook\n* **G**: Google Plus\n* **P**: Apple ID\n* **V**: Vipps\n* **X**: External ID\n\nCredential type (private):\n* **E**: Egmont ID\n* **H**: Byggforetagen OpenID\n* **I**: Coruscant ID\n* **L**: LRF Media ID\n* **M**: Mentor ID\n* **Z**: Zephr (Hegnar)",
                  "enum": [
                    "A",
                    "B",
                    "C",
                    "D",
                    "E",
                    "F",
                    "G",
                    "H",
                    "I",
                    "L",
                    "M",
                    "P",
                    "V",
                    "X",
                    "Z"
                  ],
                  "type": "string"
                },
                "canLogIn": {
                  "description": "Informs if credential is created and valid for login:\n\n* **true**: The credential is created and valid for login\n* **false**: The credential is either not created or/and vaild for login.",
                  "type": "boolean"
                },
                "hasCustomerNumber": {
                  "description": "Informs if the user is connected to a customer number in the customer database:\n\n* **true**: The customer is connected to a customer number in the customer database.\n* **false**: The customer is not connected to a customer number in the customer database.",
                  "type": "boolean"
                }
              }
            }
          }
        }
      },
      "Model-ListCustomerInfo": {
        "description": "",
        "type": "object",
        "properties": {
          "customerNumber": {
            "description": "Customer number in the partner datastore",
            "type": "integer"
          },
          "name": {
            "$ref": "#/components/schemas/Model-Name"
          },
          "phoneNumbers": {
            "$ref": "#/components/schemas/Model-PhoneNumber"
          },
          "emails": {
            "description": "Email address (each email maximum 255 character)",
            "type": "array",
            "items": {
              "format": "email",
              "type": "string"
            }
          },
          "invoiceEmailAddress": {
            "format": "email",
            "description": "Email address that shall be used for sending email invoice",
            "maxLength": 60,
            "type": "string"
          },
          "attachedUsers": {
            "description": "List of user ids connected to customer number",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "uniqueId": {
                  "description": "External id for this user",
                  "type": "string"
                },
                "credentials": {
                  "description": "Credentials connected to this user",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "credential": {
                        "description": "The credential for this user. Can be of varying length according to type",
                        "type": "string"
                      },
                      "credentialType": {
                        "description": "The type of credential. Can be on of 13 types:\n* **A_EMAIL_ADDRESS**\n* **B_SMS_PHONE**\n* **C_NON_SMS_PHONE**\n* **D_AID**\n* **E_EPID**\n* **F_FACEBOOK**\n* **G_GOOGLEPLUS**\n* **H_BYGGFORETAGEN**\n* **I_CORUSCANTID**\n* **L_LMID**\n* **M_MID**\n* **P_APPLE**\n* **V_VIPPS**\n* **X_EXT**\n* **Z_ZEPHR**",
                        "enum": [
                          "A_EMAIL_ADDRESS",
                          "B_SMS_PHONE",
                          "C_NON_SMS_PHONE",
                          "D_AID",
                          "E_EPID",
                          "F_FACEBOOK",
                          "G_GOOGLEPLUS",
                          "H_BYGGFORETAGEN",
                          "I_CORUSCANTID",
                          "L_LMID",
                          "M_MID",
                          "P_APPLE",
                          "V_VIPPS",
                          "X_EXT",
                          "Z_ZEPHR"
                        ],
                        "type": "string"
                      },
                      "verificationLevel": {
                        "description": "In what type of way this user has been verified:\n* **notVerified**: The user is not verified.\n* **internalCreated**: The user is created by internal automatic api createUser. \n* **processApi**: The user was created by process api without any verificationLink or verificationCode.\n* **notRepeatedCredential**:The user is like not verified, but usually UserId will be exist for given credential with this level\n* **repeatedCredential**: Almost not verified, but we are sure that user double check his email/mobile.\n* **verificationCustomerService**: When user calling customer service to change the password or to create new credential.\n* **externallyVerified**: The user is verified from external system.\n* **verificationLink**: The user is verified by clicking an link in email.\n* **verificationCode**: The user is verified by sending an one time code by email/sms.",
                        "enum": [
                          "notVerified",
                          "internalCreated",
                          "processApi",
                          "notRepeatedCredential",
                          "repeatedCredential",
                          "verificationCustomerService",
                          "externallyVerified",
                          "verificationLink",
                          "verificationCode"
                        ],
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "AssignUserClientMode-request": {
        "description": "",
        "required": [
          "credential"
        ],
        "type": "object",
        "properties": {
          "credential": {
            "description": "Credential data - enter value of one of these:  \n* Email address\n* Mobile phone number in format \n[**E.164**](https://en.wikipedia.org/wiki/E.164) \n* Facebook\n* Google\n* aID\n* Egmont ID\n* Coruscant ID\n* LRF Media ID\n* Vipps",
            "maxLength": 60,
            "type": "string"
          },
          "recipient": {
            "description": "Recipient of message sent to user when user is assigned to order. If field is not set then credential data is used as recipient. Field used when credential is not email/mobile phone number or when recipient has to be different than credential. Email or mobile phone number in format  [**E.164**](https://en.wikipedia.org/wiki/E.164)",
            "maxLength": 60,
            "type": "string"
          },
          "isSendMessage": {
            "description": "It informs if the message is sent to user when user is assigned to order.\n\n- **true**: The message is sent to user.\n- **false**: The message is not sent to user.",
            "default": true,
            "type": "boolean"
          },
          "returnUrl": {
            "description": "Return URL (absolute) used in message, i.e link in message, sent to user when user is assigned to order.\nA URL to redirect the user’s browser back to on success (the user will be logged in).",
            "type": "string"
          },
          "errorUrl": {
            "description": "Error URL (absolute) used in message, i.e link in message, sent to user when user is assigned to order.\nA URL to redirect the user’s browser back to if something goes wrong (the user might not be logged in).",
            "type": "string"
          },
          "linkLifetime": {
            "description": "Decide how long the link sent to user is valid. Lifetime expressed in hours.",
            "default": 12,
            "type": "integer"
          },
          "overrideClientId": {
            "description": "This element will override clientId (e.g. no.mediaconnect.test) used in redirect link sent to user. A typically usecase is when a client uses this API on behalf of another client (e.g. a telemarketing bureau). ClientId using API and overrideClientId must have the same handler and partner id. The overrideClientId must exist in ConnectID. This field have to be set if we need   to send message with proper login url for specific client.",
            "type": "string"
          }
        }
      },
      "RegisterExternalIdClientMode-request": {
        "description": "",
        "required": [
          "externalId",
          "credentialType"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "description": "External system unique id that represents user in third part system.",
            "maxLength": 60,
            "type": "string"
          },
          "credentialType": {
            "description": "Credential type, for now it is only allowed type \n* **D**: AID\n* **E**: Egmont ID\n* **H**: Byggforetagen OpenID\n* **I**: Coruscant ID\n* **L**: LRF Media ID\n* **M**: Mentor ID\n* **X**: External\n* **Z**: Zephr (Hegnar)            ",
            "enum": [
              "D",
              "E",
              "H",
              "I",
              "L",
              "M",
              "X",
              "Z"
            ],
            "type": "string"
          }
        }
      },
      "Model-ExternalIdentity-response": {
        "description": "",
        "type": "object",
        "properties": {
          "credential": {
            "description": "Representation of user that uses the ConnectID service",
            "maxLength": 60,
            "type": "string"
          },
          "externalId": {
            "description": "External system unique id that represents user in third part system",
            "maxLength": 60,
            "type": "string"
          },
          "credentialType": {
            "description": "Credential type, for now it is only returned type:\n* **D**: aID\n* **E**: Egmont ID\n* **H**: Byggforetagen OpenID\n* **I**: Coruscant ID\n* **L**: LRF Media ID\n* **M**: Mentor ID\n* **X**: External\n* **Z**: Zephr (Hegnar)",
            "type": "string"
          },
          "canLogin": {
            "description": "Says if user can login, eg. call other logged in user API:\n\n* **true**: User can login.\n* **false**: User can not login.",
            "type": "boolean"
          },
          "customerNumber": {
            "description": "Customer number in Connect system if is set.",
            "type": "integer"
          },
          "uniqueId": {
            "description": "External id to user in ConnectID, additional info",
            "maxLength": 32,
            "type": "string"
          },
          "enabled": {
            "description": "Says if user is enabled in ConnectID and can be used by other systems.\n\n* **true**: User is enabled in ConnectID and can be used by other systems.\n* **false**: User is not enabled in ConnectedID and can not be used by other systems.",
            "type": "boolean"
          },
          "newUser": {
            "description": "Says if user is created just now or exist from before.\n\n* **true**:  The user is created just now.\n* **false**: The user exist from before.",
            "type": "boolean"
          },
          "extidCode": {
            "description": "Generated jwt token to be used with custom grant_type described here to obtain an access_token\t",
            "type": "string"
          }
        }
      },
      "ListIssuesClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "issues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productId": {
                  "description": "Product id/code",
                  "maxLength": 12,
                  "type": "string"
                },
                "productType": {
                  "description": "There are two product types:\n\n- **subscription**: An arrangement to receive a publication, regularly by paying in advance.\n\n- **series**:\tA set of periodicals, books or other documents published under a common title.",
                  "enum": [
                    "subscription",
                    "series"
                  ],
                  "type": "string"
                },
                "subscriptionIssues": {
                  "description": "List with subscriptionIssues objects for an ordinary subscription product. \n\nIssues are found here if `productType` is subscription.",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "issue": {
                        "description": "Issue code",
                        "maxLength": 10,
                        "type": "string"
                      },
                      "distributionDate": {
                        "description": "Actual distribution date\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                        "type": "integer"
                      },
                      "distributionPlannedDate": {
                        "description": "Planned distribution date.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                        "type": "integer"
                      },
                      "publicationDate": {
                        "description": "Publication date\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                        "type": "integer"
                      }
                    }
                  }
                },
                "seriesIssues": {
                  "description": "List with seriesIssues objects for an ordinary subscription product. \n\nIssues are found here if `productType` is series.",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "issue": {
                        "description": "Issue code",
                        "maxLength": 10,
                        "type": "string"
                      },
                      "productIdAttached": {
                        "description": "Product id/code attached to this issue.",
                        "maxLength": 12,
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ListRecruitmentCampaignClientMode-response": {
        "description": "",
        "properties": {
          "campaignItems": {
            "description": "Company wrapper element, containing a list of campaign",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "campaignCode": {
                  "description": "Campaign code for the recruitment campaign",
                  "maxLength": 12,
                  "type": "string"
                },
                "campaignDescription": {
                  "description": "Description for the recruitment campaign",
                  "maxLength": 40,
                  "type": "string"
                },
                "companyItems": {
                  "description": "Company wrapper element, containing a list of companies\t",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "companyCode": {
                        "description": "Company code whitin the recruitment campaign",
                        "maxLength": 12,
                        "type": "string"
                      },
                      "companyDescription": {
                        "description": "Description for the company",
                        "maxLength": 50,
                        "type": "string"
                      }
                    }
                  }
                },
                "productItems": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "productCode": {
                        "description": "Product code whitin the recruitment company",
                        "maxLength": 12,
                        "type": "string"
                      },
                      "productDescription": {
                        "description": "Description for the product",
                        "maxLength": 40,
                        "type": "string"
                      },
                      "points": {
                        "description": "Points given for recruitment product",
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "type": "object"
      },
      "ListRecruitment-response": {
        "description": "",
        "type": "object",
        "properties": {
          "points": {
            "description": "Number of points for this customer",
            "type": "integer"
          },
          "products": {
            "description": "List of proucts valid for recruitment on this campaign",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "recruitments": {
            "description": "List of recruitments",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "recruited": {
                  "description": "Customer number of the recruited",
                  "type": "integer"
                },
                "product": {
                  "description": "Product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "active": {
                  "description": "Customer status on product",
                  "type": "boolean"
                },
                "recruitedDate": {
                  "description": "Date of recruitment. \n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "points": {
                  "description": "Number of points this recruitment generated",
                  "type": "integer"
                }
              }
            }
          },
          "unverifiedRecruitments": {
            "description": "List of unverified recruitments",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "product": {
                  "description": "Product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "recruitedDate": {
                  "description": "Date of recruitment. \n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "status": {
                  "description": "Order status on recruitment",
                  "type": "string"
                },
                "points": {
                  "description": "Number of points this recruitment generated",
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "ChangePremiumRecruitments-request": {
        "description": "",
        "type": "object",
        "properties": {
          "premiumRecruitments": {
            "type": "array",
            "items": {
              "required": [
                "companyCode",
                "product",
                "preferenceNumber"
              ],
              "type": "object",
              "properties": {
                "companyCode": {
                  "description": "The company that owns the product",
                  "maxLength": 12,
                  "type": "string"
                },
                "product": {
                  "description": "The premium product",
                  "maxLength": 12,
                  "type": "string"
                },
                "preferenceNumber": {
                  "description": "The preference number for this premium, representing the sorting order of wanted premiums, with 1 representing the preferred premium product",
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "Model-PremiumRecruitments-response": {
        "description": "",
        "type": "object",
        "properties": {
          "premiumRecruitments": {
            "type": "array",
            "items": {
              "required": [
                "companyCode",
                "product",
                "preferenceNumber"
              ],
              "type": "object",
              "properties": {
                "companyCode": {
                  "description": "The company that owns the product",
                  "maxLength": 12,
                  "type": "string"
                },
                "product": {
                  "description": "The premium product",
                  "maxLength": 12,
                  "type": "string"
                },
                "preferenceNumber": {
                  "description": "The preference number for this premium, representing the sorting order of wanted premiums, with 1 representing the preferred premium product",
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "ListConsentTextClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "issuer": {
            "description": "Identification of the issuer principal of the consent",
            "maxLength": 255,
            "type": "string"
          },
          "consents": {
            "description": "Consents to given issuer, that has text",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "consentId": {
                  "description": "Consent id that has text info for consent",
                  "type": "integer"
                },
                "consentGroupId": {
                  "description": "Consent group id",
                  "type": "integer"
                },
                "target": {
                  "description": "Identification of the target of consent (e.g. URL of a policy)",
                  "maxLength": 255,
                  "type": "string"
                },
                "scope": {
                  "description": "The scope of the consent can refer to a section or clause in the target",
                  "maxLength": 255,
                  "type": "string"
                },
                "texts": {
                  "description": "Texts to given consent",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "textId": {
                        "description": "Consent text id",
                        "type": "integer"
                      },
                      "languageCode": {
                        "description": "Text language code. Combine [**ISO 639**](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code (lower-case two letter code) with underscore ( _ ) and a [**ISO-3166**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code (upper-case two letter). Example: en_GB",
                        "maxLength": 10,
                        "type": "string"
                      },
                      "text": {
                        "description": "Text to given consent",
                        "maxLength": 2048,
                        "type": "string"
                      },
                      "fromDate": {
                        "description": "Date from witch this text is valid. \nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ListUserExternalProfiles-response": {
        "description": "",
        "type": "object",
        "properties": {
          "externalProfileList": {
            "description": "Wrapper for a list of all the user's external profiles.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string",
                  "description": "Profile data external source, possible values:\n* **Facebook**: Profile information from Facebook.\n* **Google**: Profile information from Google.\n* **Vipps**: Profile information from Vipps.\n* **Apple**: Profile information from Apple.\n* **AID**: Profile information from AID.",
                  "enum": [
                    "Facebook",
                    "Google",
                    "Vipps",
                    "Apple",
                    "AID"
                  ]
                },
                "info": {
                  "description": "profile information",
                  "type": "object",
                  "properties": {
                    "birthDate": {
                      "description": "Birth date. \nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                      "type": "integer"
                    },
                    "nationalIdentityNumber": {
                      "description": "National identity number",
                      "maxLength": 11,
                      "type": "string"
                    },
                    "name": {
                      "type": "object",
                      "properties": {
                        "firstName": {
                          "description": "First name",
                          "maxLength": 30,
                          "type": "string"
                        },
                        "middleName": {
                          "description": "Middle name",
                          "maxLength": 30,
                          "type": "string"
                        },
                        "lastName": {
                          "description": "Last name",
                          "maxLength": 30,
                          "type": "string"
                        }
                      }
                    },
                    "phoneNumbers": {
                      "$ref": "#/components/schemas/Model-PhoneNumber"
                    },
                    "emails": {
                      "description": "Email addresses",
                      "type": "array",
                      "items": {
                        "format": "email",
                        "type": "string"
                      }
                    },
                    "addresses": {
                      "description": "Addresses",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "addressType": {
                            "description": "The information says if the address is:\n* **home**: The home address. \n* **work**: The work address.\n* **other**: All other address. ",
                            "enum": [
                              "home",
                              "work",
                              "other"
                            ],
                            "type": "string"
                          },
                          "streetAddress": {
                            "description": "The street for this address",
                            "maxLength": 40,
                            "type": "string"
                          },
                          "postalCode": {
                            "description": "The postal code for this address",
                            "maxLength": 10,
                            "type": "string"
                          },
                          "postalPlace": {
                            "description": "The postal place for this address",
                            "maxLength": 30,
                            "type": "string"
                          },
                          "countryCode": {
                            "description": "The country code for this address - [**ISO 3166 - alpha-2**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).",
                            "maxLength": 3,
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ListCustomerProductShareNet-response": {
        "description": "",
        "type": "object",
        "properties": {
          "nets": {
            "type": "array",
            "items": {
              "required": [
                "loginRequired",
                "startTime"
              ],
              "type": "object",
              "properties": {
                "loginRequired": {
                  "description": "If user needs to be logged in\n\n* **true**: The user needs to be logged in.\n* **false**: The user does not need to be logged in.",
                  "type": "boolean"
                },
                "startTime": {
                  "description": "When the share is active from\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "endTime": {
                  "description": "When the share is no longer allowed\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "ipRanges": {
                  "type": "array",
                  "items": {
                    "required": [
                      "ipRangeStart",
                      "ipRangeEnd"
                    ],
                    "type": "object",
                    "properties": {
                      "ipRangeStart": {
                        "description": "The first IP in this range",
                        "maxLength": 39,
                        "type": "string"
                      },
                      "ipRangeEnd": {
                        "description": "The last IP in this range",
                        "maxLength": 39,
                        "type": "string"
                      }
                    }
                  }
                },
                "domains": {
                  "type": "array",
                  "items": {
                    "required": [
                      "domain"
                    ],
                    "type": "object",
                    "properties": {
                      "domain": {
                        "description": "Domain that can access subscription",
                        "maxLength": 255,
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ChangeCustomerProductShareNet-request": {
        "description": "",
        "type": "object",
        "properties": {
          "nets": {
            "type": "array",
            "items": {
              "required": [
                "loginRequired",
                "startTime"
              ],
              "type": "object",
              "properties": {
                "loginRequired": {
                  "description": "If user needs to be logged in\n\n* **true**: The user needs to be logged in.\n* **false**: The user does not need to be logged in.",
                  "type": "boolean"
                },
                "startTime": {
                  "description": "When the share is active from\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "endTime": {
                  "description": "When the share is no longer allowed\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "ipRanges": {
                  "type": "array",
                  "items": {
                    "required": [
                      "ipRangeStart",
                      "ipRangeEnd"
                    ],
                    "type": "object",
                    "properties": {
                      "ipRangeStart": {
                        "description": "The first IP in this range",
                        "maxLength": 39,
                        "type": "string"
                      },
                      "ipRangeEnd": {
                        "description": "The last IP in this range",
                        "maxLength": 39,
                        "type": "string"
                      }
                    }
                  }
                },
                "domains": {
                  "type": "array",
                  "items": {
                    "required": [
                      "domain"
                    ],
                    "type": "object",
                    "properties": {
                      "domain": {
                        "description": "Domain that can access subscription",
                        "maxLength": 255,
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "DeclineShareClientMode-response": {
        "required": [
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "description": "* **1**: A share request has been sent to the recipient (SHARE_REQUEST_SENT).\n* **2**: Share request has been accepted (REQUEST_ACCEPTED).\n* **3**: Share request has been declined (REQUEST_DECLINED).\n* **4**: No subscription to share (NO_SUBSCRIPTION).\n* **5**: Share has ended (SHARING_ENDED).\n* **6**: Share change type is not supported (SHARE_CHANGE_TYPE_NOT_SUPPORTED).\n* **7**: When another sharing was accepted and user can't accept this sharing until the other sharing is ended (SHARE_LIMIT).",
            "enum": [
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7"
            ],
            "type": "string"
          }
        }
      },
      "ListConsentTextHistoryClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "issuer": {
            "description": "Identification of the issuer principal of the consent",
            "maxLength": 255,
            "type": "string"
          },
          "consents": {
            "description": "Consents to given `issuer` and `subject`, that has text history",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "consentId": {
                  "description": "Consent id that has text history",
                  "type": "integer"
                },
                "consentGroupId": {
                  "description": "Consent group id",
                  "type": "integer"
                },
                "target": {
                  "description": "Identification of the target of consent (e.g. URL of a policy)",
                  "maxLength": 255,
                  "type": "string"
                },
                "scope": {
                  "description": "The scope of the consent can refer to a section or clause in the `target`",
                  "maxLength": 255,
                  "type": "string"
                },
                "texts": {
                  "description": "Texts to given consent",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "consentTextId": {
                        "description": "Consent text id",
                        "type": "integer"
                      },
                      "languageCode": {
                        "description": "Consent text language code. Combine [**ISO 639**](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code (lower-case two letter code) with underscore ( _ ) and a [**ISO-3166**](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code (upper-case two letter).",
                        "maxLength": 10,
                        "type": "string"
                      },
                      "textHistory": {
                        "description": "Text changes history to given consent and text by language code.",
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "consentTextHistoryId": {
                              "description": "Consent text history id",
                              "type": "integer"
                            },
                            "text": {
                              "description": "Historical text to given text for consent",
                              "maxLength": 2048,
                              "type": "string"
                            },
                            "fromDate": {
                              "description": "Date from witch this text was valid\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                              "type": "integer"
                            },
                            "toDate": {
                              "description": "Date from witch this text was not valid, if null it is last valid text.\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                              "type": "integer"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "Model-CheckAccess-response": {
        "description": "",
        "type": "object",
        "properties": {
          "access": {
            "description": "The information says if the user has access:\n\n* **true**:  The user has access.\n* **false**: The user has no access.",
            "type": "boolean"
          },
          "accesses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "access": {
                  "description": "Access value for specific level of access",
                  "type": "boolean"
                },
                "accessLevel": {
                  "description": "Level of access  \n* **A:** Product, when asking based on product in request\n* **B:** Article, when asking based on article id in request, or complete list when asking based on boolean value in request\n* **C:** Domain, when asking based on domain in request\n* **D:** IP, when asking based on IP address in request\n* **E:** Category type, when asking based on category type in request\n* **F:** IP & Domain, if sharing depends upon both domain and IP this level is returned in the response\n* **G:** Azure active directory, when asking based on boolean value in request\n* **H:** aID family, when asking based on boolean value in request.\n* **I:** Shared subscription, a subscription is shared with the user.",
                  "enum": [
                    "A",
                    "B",
                    "C",
                    "D",
                    "E",
                    "F",
                    "G",
                    "H",
                    "I"
                  ],
                  "type": "string"
                },
                "accessType": {
                  "description": "Type of access:  \n* **A:** Subscription, when subscription is for product\n* **B:** Shared, when subscription on product is shared\n* **C:** Article, when user bought specific article(s)\n* **D:** Domain, when user has access based on domain\n* **E:** IP, when user has access based on IP\n* **F:** Require IP login, when user requires login based on IP\n* **G:** Category type, when user has access based on category type",
                  "enum": [
                    "A",
                    "B",
                    "C",
                    "D",
                    "E",
                    "F",
                    "G"
                  ],
                  "type": "string"
                },
                "accessTypeDetail": {
                  "description": "Details for given access type",
                  "type": "object",
                  "properties": {
                    "productDeliveryPlan": {
                      "description": "Access based on product delivery plan",
                      "type": "object",
                      "properties": {
                        "productDeliveryPlanId": {
                          "description": "The unique id for product delivery plan.",
                          "type": "integer"
                        },
                        "monday": {
                          "description": "Informs if the user has access based on product delivery plan on Monday:\n* **true**:  The user has access on Monday.\n* **false**: The user has not acccess on Monday.",
                          "type": "boolean"
                        },
                        "tuesday": {
                          "description": "Informs if the user has access based on product delivery plan on Tuesday:\n* **true**:  The user has access on Tuesday.\n* **false**: The user has not acccess on Tuesday.",
                          "type": "boolean"
                        },
                        "wednesday": {
                          "description": "Informs if the user has access based on product delivery plan on Wednesday:\n* **true**:  The user has access on Wednesday.\n* **false**: The user has not acccess on Wednesday.",
                          "type": "boolean"
                        },
                        "thursday": {
                          "description": "Informs if the user has access based on product delivery plan on Thursday:\n* **true**:  The user has access on Thursday.\n* **false**: The user has not acccess on Thursday.",
                          "type": "boolean"
                        },
                        "friday": {
                          "description": "Informs if the user has access based on product delivery plan on Friday:\n* **true**:  The user has access on Friday.\n* **false**: The user has not acccess on Friday.                                    ",
                          "type": "boolean"
                        },
                        "saturday": {
                          "description": "Informs if the user has access based on product delivery plan on Saturday:\n* **true**:  The user has access on Saturday.\n* **false**: The user has not acccess on Saturday.                                    ",
                          "type": "boolean"
                        },
                        "sunday": {
                          "description": "Informs if the user has access based on product delivery plan on Sunday:\n* **true**:  The user has access on Sunday.\n* **false**: The user has not acccess on Sunday.                                    ",
                          "type": "boolean"
                        }
                      }
                    },
                    "articles": {
                      "description": "Access based on bought articles",
                      "type": "array",
                      "items": {
                        "description": "Access based on bought articles",
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ListInvoices-response": {
        "description": "",
        "type": "object",
        "properties": {
          "invoices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "customerNumber": {
                  "description": "Customer number",
                  "type": "integer"
                },
                "product": {
                  "description": "Product on invoice",
                  "maxLength": 12,
                  "type": "string"
                },
                "productName": {
                  "description": "Product description/name",
                  "maxLength": 40,
                  "type": "string"
                },
                "amount": {
                  "description": "Amount for product on invoice",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "invoiceDate": {
                  "description": "Invoice date, date in format: YYYY-MM-DD",
                  "type": "string"
                },
                "invoiceNumber": {
                  "description": "Invoice number",
                  "maxLength": 10,
                  "type": "string"
                },
                "invoiceOfferCount": {
                  "description": "Invoice offer count. If this is more than 1, this invoice contains alternative offers.",
                  "maxLength": 1,
                  "type": "string"
                },
                "companyCode": {
                  "description": "companyCode",
                  "maxLength": 12,
                  "type": "string"
                },
                "paymentDate": {
                  "description": "Date of payment, date in format: YYYY-MM-DD",
                  "type": "string"
                },
                "paymentStatus": {
                  "description": "Status of invoice payment/invoice reminder:\n* **-1** - No more reminding\n* **0** - Normal reminding\n* **> 0** used for special purposes such as reminders on partially payed invoices.",
                  "type": "string"
                },
                "invoiceAmount": {
                  "description": "Amount for whole invoice",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "invoiceVatAmount": {
                  "description": "Tax amount on invoice line",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "paidAmount": {
                  "description": "Amount that was paid for this invoice",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "paymentMethod": {
                  "description": "Invoice payment method. Returned values:\n\n* **A** - normal payment\n* **B** - autodraw (auto giro)\n* **C** - credit card payment\n* **D** - einvoice\n* **E** - autodraw einvoice\n* **F** - recurring payment credit card\n* **G** - recurring payment SMS\n* **H** - recurring vipps\n* **I** - recurring kco (Klarna checkout)\n* **J** - recurring credit card payex\n* **K** - recurring nexi ",
                  "enum": [
                    "A",
                    "B",
                    "C",
                    "D",
                    "E",
                    "F",
                    "G",
                    "H",
                    "I",
                    "J",
                    "K"
                  ],
                  "type": "string"
                },
                "invoiceHotelUrl": {
                  "description": "Url to invoice",
                  "type": "string"
                },
                "invoiceStatus": {
                  "description": "Status of invoice. Returned values:\n* **notInvoiced** - Not invoiced\n* **invoiced** - Invoiced\n* **paid** - Paid\n* **cancelled** - Cancelled\n* **dunned** - Dunned",
                  "enum": [
                    "notInvoiced",
                    "invoiced",
                    "paid",
                    "cancelled",
                    "dunned"
                  ],
                  "type": "string"
                },
                "dueDate": {
                  "description": "Due date, date in format: YYYY-MM-DD",
                  "type": "string"
                }
              }
            }
          },
          "reminders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "invoiceNumber": {
                  "description": "Invoice number",
                  "type": "integer"
                },
                "product": {
                  "description": "Product on invoice",
                  "maxLength": 12,
                  "type": "string"
                },
                "fromTime": {
                  "description": "This invoice covers the period from this issue/date, date in format: YYYY-MM-DD",
                  "maxLength": 10,
                  "type": "string"
                },
                "includeTime": {
                  "description": "Including this issue/date, date in format: YYYY-MM-DD",
                  "maxLength": 10,
                  "type": "string"
                },
                "reminderDate": {
                  "description": "Reminder date. Unix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                  "type": "integer"
                },
                "amount": {
                  "description": "Amount for whole invoice",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "dueDate": {
                  "description": "Invoice due date. Unix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                  "type": "integer"
                },
                "reminderNumber": {
                  "description": "Reminder number e.g. 1, 2 etc.",
                  "type": "integer"
                },
                "graceInvoiceCount": {
                  "description": "Grace invoice number e.g. 1, 2 etc.",
                  "type": "integer"
                },
                "reminderType": {
                  "description": "Reminder type. Returned values:\n\n* **reminder** - normal reminder invoice\n* **reminderStop** - reminder stop invoice\n* **graceInvoice** - grace invoice\n* **graceInvoiceReminder** - grace invoice reminder",
                  "enum": [
                    "reminder",
                    "reminderStop",
                    "graceInvoice",
                    "graceInvoiceReminder"
                  ],
                  "type": "string"
                },
                "invoiceHotelUrl": {
                  "description": "Url to reminder invoice",
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ListInvoiceClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "clientInvoiceInfoList": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "invoiceId": {
                  "description": "Invoice Id",
                  "type": "string"
                },
                "invoiceDate": {
                  "description": "Invoice date.  Unix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                  "type": "integer"
                },
                "invoiceOfferCount": {
                  "description": "Invoice offer count. If this is more than 1, this invoice contains alternative offers.",
                  "maxLength": 1,
                  "type": "string"
                },
                "customerNumber": {
                  "description": "Customer number",
                  "type": "integer"
                },
                "product": {
                  "description": "Product code on invoice",
                  "maxLength": 12,
                  "type": "string"
                },
                "productName": {
                  "description": "Product name",
                  "maxLength": 40,
                  "type": "string"
                },
                "amount": {
                  "description": "Amount for product on invoice",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "companyCode": {
                  "description": "Invoice number",
                  "maxLength": 12,
                  "type": "string"
                },
                "paymentStatus": {
                  "description": "Status of invoice payment/invoice reminder\n* **-1** - No more reminding\n* **0** - Normal reminding\n* **> 0** used for special purposes such as reminders on partially payed invoices.",
                  "type": "string"
                },
                "invoiceAmount": {
                  "description": "Amount for whole invoice.",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "paidAmount": {
                  "description": "Amount that was paid for this invoice.",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "paymentMethod": {
                  "description": "Invoice payment method. Returned values:\n\n* **A** - normal payment\n* **B** - autodraw (auto giro)\n* **C** - credit card payment\n* **D** - einvoice\n* **E** - autodraw einvoice\n* **F** - recurring payment credit card\n* **G** - recurring payment SMS\n* **H** - recurring vipps\n* **I** - recurring kco (Klarna checkout)\n* **J** - recurring credit card payex\n* **K** - recurring nexi ",
                  "enum": [
                    "A",
                    "B",
                    "C",
                    "D",
                    "E",
                    "F",
                    "G",
                    "H",
                    "I",
                    "J",
                    "K"
                  ],
                  "type": "string"
                },
                "invoiceHotelUrl": {
                  "description": "Url to invoice",
                  "type": "string"
                },
                "paymentDate": {
                  "description": "Date of payment. Unix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                  "type": "integer"
                },
                "dueDate": {
                  "description": "Due date. Unix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                  "type": "integer"
                },
                "desc": {
                  "description": "List of descriptions, ie. what products are paid on the invoice.(you can have mulitple proudcts or mulitple payments on same product)\t",
                  "type": "array",
                  "items": {
                    "maxLength": 40,
                    "type": "string"
                  }
                },
                "period": {
                  "format": "double",
                  "description": "No. of issues/periods invoiced for.",
                  "type": "number"
                },
                "periodUnit": {
                  "description": "Units of period. \n\n* **A** - issues/periods from smissue-table\n* **B** - days\n* **C** - months\n* **D** - years\n* **E** - Issues within the given period\n* **F** - Issues with date oriented sub/mem",
                  "enum": [
                    "A",
                    "B",
                    "C",
                    "D",
                    "E",
                    "F"
                  ],
                  "type": "string"
                },
                "fromTime": {
                  "description": "This is invoice from this issue/date, date in format: YYYY-MM-DD.",
                  "maxLength": 10,
                  "type": "string"
                },
                "inclTime": {
                  "description": "Including this issue/date, date in format: YYYY-MM-DD.",
                  "maxLength": 10,
                  "type": "string"
                },
                "invoiceLineInfo": {
                  "description": "Details regarding the invoice lines.",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "productCode": {
                        "description": "Product code.",
                        "maxLength": 12,
                        "type": "string"
                      },
                      "invoiceAmount": {
                        "description": "Invoiced amount exlusive VAT regarding product code.",
                        "multipleOf": 0.01,
                        "maximum": 9999999999.99,
                        "minimum": 0,
                        "type": "number"
                      },
                      "invoiceVatAmount": {
                        "description": "Invoiced VAT amount regarding product code.",
                        "multipleOf": 0.01,
                        "maximum": 9999999999.99,
                        "minimum": 0,
                        "type": "number"
                      },
                      "invoiceVatPercent": {
                        "description": "Invoiced VAT percent used calculating VAT amount.",
                        "multipleOf": 0.01,
                        "maximum": 100,
                        "minimum": 0,
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ListExternalReferencesClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "externalReferences": {
            "type": "array",
            "items": {
              "required": [
                "referenceCode",
                "externalId"
              ],
              "type": "object",
              "properties": {
                "referenceCode": {
                  "description": "Reference code",
                  "maxLength": 12,
                  "minLength": 1,
                  "type": "string"
                },
                "externalId": {
                  "description": "External ID",
                  "maxLength": 64,
                  "minLength": 1,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ChangeExternalReferenceClientMode-request": {
        "description": "",
        "required": [
          "externalId"
        ],
        "type": "object",
        "properties": {
          "externalId": {
            "description": "External ID",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "RegisterExternalReferenceClientMode-request": {
        "description": "",
        "required": [
          "referenceCode",
          "externalId"
        ],
        "type": "object",
        "properties": {
          "referenceCode": {
            "description": "Reference code",
            "maxLength": 12,
            "minLength": 1,
            "type": "string"
          },
          "externalId": {
            "description": "External ID",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          }
        }
      },
      "AddKlarnaToken-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "It informs if the token was added.\r\n\r\n* **true:** The token was added.\r\n* **false:** The token was not added.\r\n",
            "type": "boolean"
          },
          "transactionId": {
            "description": "The transactionId",
            "type": "integer"
          }
        }
      },
      "AddNexiSubscription-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "It informs if the subscription was added.\r\n\r\n* **true:** The subscription was added.\r\n* **false:** The subscription was not added.\r\n",
            "type": "boolean"
          },
          "transactionId": {
            "description": "The transactionId",
            "type": "integer"
          }
        }
      },
      "AddKlarnaToken-request": {
        "description": "",
        "required": [
          "productCode"
        ],
        "type": "object",
        "properties": {
          "productCode": {
            "description": "Specific product for the token.",
            "type": "string"
          }
        }
      },
      "AddNexiSubscription-request": {
        "description": "",
        "required": [
          "productCode"
        ],
        "type": "object",
        "properties": {
          "productCode": {
            "description": "Specific product for subscription.",
            "type": "string"
          }
        }
      },
      "RemoveNexiSubscription-response": {
        "description": "",
        "type": "object",
        "properties": {
          "success": {
            "description": "Informs if subscription is marked as deleted.\n* **true**: The subscription marked as deleted.\n* **false**: The subscription may not be marked as deleted.",
            "type": "boolean"
          }
        }
      },
      "RemoveNexiSubscription-request": {
        "description": "",
        "required": [
          "subscriptionId",
          "paymentProviderId"
        ],
        "type": "object",
        "properties": {
          "subscriptionId": {
            "description": "Subscription that shall be marked as deleted.",
            "maxLength": 64,
            "type": "string"
          },
          "paymentProviderId": {
            "description": "Payment provider id for subscription.",
            "type": "integer"
          }
        }
      },
      "ListPaymentMethods-response": {
        "description": "",
        "type": "object",
        "properties": {
          "paymentMethodResponseItems": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "paymentMethod": {
                  "description": "Specific pay method. Following methods may be used: \n\n* **invoice:** Common invoice\n* **autoGiro:** Automatic withdraw, in Norwegian \"Avtalegiro\"\n* **recurringPayment:** Recurring Nets payment\n* **recurringPayExCardPayment:** Recurring PayEx payment\n* **recurringSmsPayment:** Recurring sms payment\n* **recurringVippsPayment:** Recurring Vipps payment\n* **recurringKlarnaPayment:** Recurring Klarna payment\n* **recurringNexiPayment:** Recurring Nexi payment",
                  "enum": [
                    "invoice",
                    "autoGiro",
                    "recurringPayment",
                    "recurringPayExCardPayment",
                    "recurringSmsPayment",
                    "recurringVippsPayment",
                    "recurringKlarnaPayment",
                    "recurringNexiPayment"
                  ],
                  "type": "string"
                },
                "isActive": {
                  "description": "Whether this method is currently in use by customer on product requested. \n\nPossible values is:\n* **Y**: Yes\n* **N**: No",
                  "enum": [
                    "Y",
                    "N"
                  ],
                  "type": "string"
                },
                "target": {
                  "description": "What target is allowed to use it.\n\nPossible value is:\n* null: Means no restrictions, any target can use it.\n* **C**: Connect. Pay method should only be shown to the end user\nif it is currently active.",
                  "enum": [
                    "C"
                  ],
                  "type": "string",
                  "nullable": true
                }
              }
            }
          }
        }
      },
      "ChangePaymentMethod-request": {
        "description": "",
        "required": [
          "paymentMethod"
        ],
        "type": "object",
        "properties": {
          "paymentMethod": {
            "description": "Specific pay method. Following methods may be used:\n- **invoice**: Common invoice  \n- **autoGiro**: Automatic withdraw, in Norwegian \"Avtalegiro\"  \n- **recurringVippsPayment**: Recurring Vipps payment \n- **recurringPayExCardPayment:** Recurring PayEx payment\n- **recurringKlarnaPayment:** Recurring Klarna payment\n- **recurringNexiPayment:** Recurring Klarna payment",
            "enum": [
              "invoice",
              "autoGiro",
              "recurringVippsPayment",
              "recurringPayExCardPayment",
              "recurringKlarnaPayment",
              "recurringNexiPayment"
            ],
            "type": "string"
          }
        }
      },
      "ListNexiSubscriptions-response": {
        "description": "",
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "subscriptionId": {
                  "description": "Nexi subscription.",
                  "maxLength": 64,
                  "type": "string"
                },
                "paymentProviderId": {
                  "description": "Payment provider id",
                  "type": "integer"
                },
                "productCode": {
                  "description": "The `productCode` assigned to subscription",
                  "maxLength": 12,
                  "type": "string"
                },
                "cardDetails": {
                  "description": "Additional information about card details.",
                  "type": "object",
                  "properties": {
                    "cardMaskedPan": {
                      "description": "Masked card number for display",
                      "maxLength": 64,
                      "type": "string"
                    },
                    "expMonth": {
                      "description": "Card expiration month in format: MM",
                      "maxLength": 2,
                      "type": "string"
                    },
                    "expYear": {
                      "description": "Card expiration year, e.g \"22\"",
                      "maxLength": 2,
                      "type": "string"
                    }
                  }
                },
                "paymentType": {
                  "description": "Nexi payment type:\n\n* **CARD**: Paid by using card. \n* **INVOICE**: Paid by invoice.\n* **WALLET**: Paid by wallet.\n* **A2A**: Paid directly from one bank or financial account to another without the\nneed for intermediaries such as credit cards or electronic payment accounts.",
                  "enum": [
                    "CARD",
                    "INVOICE",
                    "WALLET",
                    "A2A"
                  ],
                  "type": "string"
                },
                "paymentMethod": {
                  "description": "Nexi payment method. Payment method depends on `paymentType`\n* **CARD**: \"AmEx\", \"Dankort\", \"Forbrugsforeningen\", \"MasterCard\", \"Visa\"  \n* **INVOICE**: \"Arvato\", \"ExpressBank\", \"RatePayInvoice\"   \n* **WALLET**: \"Apple Pay\", \"Klarna\", \"MobilePay\", \"PayPal\", \"Vipps\"\n* **A2A**: \"RatePaySepa\", \"Sofort\", \"Swish\", \"Trustly\"",
                  "enum": [
                    "AmEx",
                    "Arvato",
                    "Dankort",
                    "MasterCard",
                    "MobilePay",
                    "Apple Pay",
                    "PayPal",
                    "RatePayInvoice",
                    "ExpressBank",
                    "RatePaySepa",
                    "Sofort",
                    "Swish",
                    "Trustly",
                    "Vipps",
                    "Visa",
                    "Forbrugsforeningen",
                    "Klarna"
                  ],
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Model-RegisterOrder-request": {
        "description": "",
        "required": [
          "orderDate",
          "paymentMethod",
          "orderAmount",
          "currency",
          "payer",
          "orderLines",
          "uniqueUserId"
        ],
        "type": "object",
        "properties": {
          "externalOrderId": {
            "description": "Order ID from the system delivering the order.",
            "maxLength": 40,
            "type": "string"
          },
          "orderDate": {
            "description": "The date the order was placed in the external system.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
            "type": "integer"
          },
          "paymentMethod": {
            "description": "It is only allow to use these payment methods:\n\n* **invoice**: Paying by sending a invoice\n* **free**:  It is free of cost.\n* **sms**: Paying by using SMS via Link Mobility.\n* **smsPay**: Paying by using SMS via SMSpay.\n* **masterpass**: Paying by using a digital wallet provided by Mastercard.\n* **vippsRecurring**: Paying by using Vipps (Faste betalinger med Vipps).\n* **kco**: Paying by using Klarna Checkout.\n* **creditcardPayex**: Paying by using a credit card via Payex.\n* **swishPayex**: Paying by using Swish via Payex.\n* **vippsEcommerce**: Paying by using Vipps Ecommerce (single payment).\n* **nexi**: Paying by using Nexi.\n* **other**: Paying by using own integration with payment provider.",
            "enum": [
              "invoice",
              "free",
              "sms",
              "smsPay",
              "masterpass",
              "vippsRecurring",
              "kco",
              "creditcardPayex",
              "swishPayex",
              "vippsEcommerce",
              "nexi",
              "other"
            ],
            "type": "string"
          },
          "merchantId": {
            "description": "Unique ID that identify the payment provider.",
            "maxLength": 64,
            "type": "string"
          },
          "orderAmount": {
            "description": "Total amount for the entire order.",
            "multipleOf": 0.01,
            "type": "number"
          },
          "currency": {
            "description": "Currency for the entire order has to follow  the standard [**ISO4217 - alphabetic code**](https://en.wikipedia.org/wiki/ISO_4217).",
            "maxLength": 3,
            "type": "string"
          },
          "marketingCouponCode": {
            "description": "Marketing coupon code to use in a e.g product order.",
            "maxLength": 12,
            "type": "string"
          },
          "marketingCouponNumber": {
            "description": "Marketing coupon number to use in a e.g product order.",
            "type": "integer"
          },
          "campaignParameters": {
            "description": "Field is related to lookup of market coupons. The value is a URL query param which points to a sales place.",
            "maxLength": 64,
            "type": "string"
          },
          "companyCode": {
            "description": "Company code for the products in the order. Company code is used to find correct merchant etc for billing and such. If it is null client’s company code is used.",
            "maxLength": 12,
            "type": "string"
          },
          "customerReference": {
            "description": "Customer reference number.",
            "maxLength": 78,
            "type": "string"
          },
          "uniqueUserId": {
            "type": "string",
            "description": "Unique ID (from Profile API)"
          },
          "seller": {
            "description": "Seller code representing the salesperson who made this order come true.",
            "maxLength": 12,
            "type": "string"
          },
          "salesMethod": {
            "description": "Method of sale",
            "maxLength": 12,
            "type": "string"
          },
          "payer": {
            "$ref": "#/components/schemas/Model-Order-Payer"
          },
          "orderLines": {
            "type": "array",
            "items": {
              "required": [
                "productSpecType",
                "quantity",
                "unitPrice",
                "productToReplace"
              ],
              "type": "object",
              "properties": {
                "productSpecType": {
                  "description": "Valid values: \n\n- **coupon**: The way you buy a subscription and it describe it's lifecycle (including price model).\n- **product** :  It is anything related to news and books that can be offered to the marked.\n- **issue**:  A single copy of a periodical ex. magazine. \n- **article**:  An specific article on a website.",
                  "enum": [
                    "coupon",
                    "product",
                    "issue",
                    "article"
                  ],
                  "type": "string"
                },
                "productSpecCode": {
                  "description": "Coupon code if `productSpecType` is coupon or issue.\n",
                  "maxLength": 12,
                  "type": "string"
                },
                "productSpecNo": {
                  "description": "Coupon number if `productSpecType` is coupon or *issue*.",
                  "type": "integer"
                },
                "product": {
                  "description": "*Product code* if `productSpecType` is product, *issue code* if `productSpecType` is issue (issue code must exists in Connect).",
                  "maxLength": 12,
                  "type": "string"
                },
                "quantity": {
                  "description": "Quantity for this line.",
                  "type": "number"
                },
                "unitPrice": {
                  "description": "Unit price. The `currency` is given by the order.",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "promotionCode": {
                  "description": "The promotion code",
                  "maxLength": 12,
                  "type": "string"
                },
                "categoryCode": {
                  "description": "The category code",
                  "maxLength": 12,
                  "type": "string"
                },
                "voucherCode": {
                  "description": "Voucher code for this order.",
                  "maxLength": 36,
                  "type": "string"
                },
                "allowAccessProduct": {
                  "description": "After placing the order, the order will be processed in the backend system. This might take some time due to various error conditions and delays. The request may contain a product, a category type, and a number of seconds the user will be granted temporary access to protected content. If a category type is specified, the temporary access can be restricted to orders on that category type.\n\nIf this is an issue order (i.e `productSpecType` is issue), the issue specified in `product` field on orderLine must exists for the given product code specified in `allowAccessProduct`.",
                  "maxLength": 12,
                  "type": "string"
                },
                "allowAccessCategoryType": {
                  "description": "After placing the order, the order will be processed in the backend system. This might take some time due to various error conditions and delays. The request may contain a product, a category type, and a number of seconds the user will be granted temporary access to protected content. If a category type is specified, the temporary access can be restricted to orders on that category type.\n\nIf this is an issue order (i.e `productSpecType` is issue), the issue specified in `product` field on orderLine must exists for the given product code specified in `allowAccessProduct`.",
                  "maxLength": 12,
                  "type": "string"
                },
                "allowAccessSeconds": {
                  "description": "After placing the order, the order will be processed in the backend system. This might take some time due to various error conditions and delays. The request may contain a product, a category type, and a number of seconds the user will be granted temporary access to protected content. If a category type is specified, the temporary access can be restricted to orders on that category type.\n\nIf this is an issue order (i.e `productSpecType` is issue), the issue specified in `product` field on orderLine must exists for the given product code specified in `allowAccessProduct`.",
                  "type": "integer"
                },
                "productToReplace": {
                  "type": "string",
                  "description": "Specified product code that should be stopped and money transfered to newly started product when `productSpecType` is coupon "
                },
                "startInfo": {
                  "description": "Object containing one of `startDate` or `startIssue`. Not both.",
                  "type": "object",
                  "properties": {
                    "startDate": {
                      "description": "The earliest date the product or subscription should start.",
                      "type": "integer"
                    },
                    "startIssue": {
                      "description": "The issue the subscription should start.",
                      "maxLength": 10,
                      "type": "string"
                    }
                  }
                },
                "rewardPartnerId": {
                  "description": "Id that identifies the partner.",
                  "type": "integer"
                },
                "rewardId": {
                  "description": "Reward id that customer input",
                  "maxLength": 36,
                  "type": "string"
                },
                "articleDetail": {
                  "description": "Object containing information about article purchase. `productSpecType` = article\n",
                  "type": "object",
                  "properties": {
                    "companyCode": {
                      "description": "Company code for article product.",
                      "maxLength": 12,
                      "type": "string"
                    },
                    "product": {
                      "description": "ProductCode for article.",
                      "maxLength": 12,
                      "type": "string"
                    },
                    "articleRef": {
                      "description": "Article reference",
                      "maxLength": 50,
                      "type": "string"
                    },
                    "articleDesc": {
                      "description": "Article description",
                      "maxLength": 50,
                      "type": "string"
                    },
                    "articleCategory": {
                      "description": "Article category. Giving the price and details",
                      "maxLength": 12,
                      "type": "string"
                    }
                  }
                },
                "receiver": {
                  "$ref": "#/components/schemas/Model-Order-Receiver-and-Recruiter"
                },
                "recruiter": {
                  "$ref": "#/components/schemas/Model-Order-Receiver-and-Recruiter"
                }
              }
            }
          },
          "recurring": {
            "description": "It informs if recurring payment should be done on this order.\n\n- **true**: The recurring payment will be enabled if the payment provider support this and coupon/product allow to do the recurring payment.\n- **false**: The recurring payment will not be enabled. For one-time purchase needs to be false.",
            "default": true,
            "type": "boolean"
          },
          "prepaid": {
            "description": "It informs if the order is prepaid.\n\n- **true**:  The order was prepaid. There is no need to do the payment.\n- **false**: The order is not prepaid.\n\nThis parameter is optional, in use with `paymentInfo` details.",
            "default": false,
            "type": "boolean"
          },
          "paymentInfoKCO": {
            "description": "This field is optional, but must be set if `paymentMethod` = kco, otherwise the request will fail.",
            "required": [
              "klarnaReference",
              "klarnaOrderId",
              "merchantId"
            ],
            "type": "object",
            "properties": {
              "recurringToken": {
                "description": "A recurring token is a reference ID for using recurring payment from service provide. This is only required if `recurring` is true.",
                "maxLength": 64,
                "type": "string"
              },
              "klarnaReference": {
                "description": "Klarna Reference ID. This is not required if `prepaid`=false.",
                "maxLength": 12,
                "type": "string"
              },
              "klarnaOrderId": {
                "description": "The Klarna unique order ID. This is not required if `prepaid`=false.",
                "maxLength": 64,
                "type": "string"
              },
              "merchantId": {
                "description": "Unique ID that identify the payment provider. If `prepaid`=false, this is only required field.",
                "maxLength": 64,
                "type": "string"
              },
              "cardNumberMasked": {
                "description": "Masked card number for display",
                "maxLength": 64,
                "type": "string"
              },
              "cardExpiryDate": {
                "description": "Card expiration month and year in format: MM/YYYY",
                "maxLength": 7,
                "type": "string"
              },
              "cardBrand": {
                "description": "Card type name",
                "maxLength": 32,
                "type": "string"
              },
              "directBankName": {
                "description": "Bank name for direct debit",
                "type": "string"
              },
              "directAccountNumber": {
                "description": "The account number used for paying by direct debit.",
                "type": "string"
              }
            }
          },
          "paymentInfoSmsPay": {
            "description": "This field is optional, but must be set if `prepaid`= true  and `paymentMethod` = sms, otherwise the request will fail.",
            "required": [
              "transactionId",
              "merchantId"
            ],
            "type": "object",
            "properties": {
              "phoneNumberMasked": {
                "description": "The phone number used to pay by SMS. A phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
                "maxLength": 20,
                "type": "string"
              },
              "transactionId": {
                "description": "Id for payment transaction.",
                "maxLength": 40,
                "type": "string"
              },
              "merchantId": {
                "description": "Unique ID that identify the payment provider.",
                "maxLength": 64,
                "type": "string"
              }
            }
          },
          "paymentInfoPayEx": {
            "description": "This field is optional, but must be set if `prepaid`= true  and `paymentMethod` = creditcardPayex, otherwise the request will fail.",
            "required": [
              "transactionId",
              "merchantId"
            ],
            "type": "object",
            "properties": {
              "transactionId": {
                "description": "Id for payment transaction.",
                "maxLength": 12,
                "type": "string"
              },
              "merchantId": {
                "description": "Unique ID that identify the payment provider.",
                "maxLength": 64,
                "type": "string"
              },
              "recurrenceToken": {
                "description": "A recurrence token is a reference ID for using recurring payment from service provide. This is only required if `recurring` is true.",
                "maxLength": 12,
                "type": "string"
              },
              "cardDetails": {
                "description": "Details of the card.",
                "type": "object",
                "properties": {
                  "cardMaskedPan": {
                    "description": "Card masked pan.",
                    "maxLength": 12,
                    "type": "string",
                    "nullable": true
                  },
                  "expMonth": {
                    "description": "Card expiration month in format: MM",
                    "maxLength": 2,
                    "type": "string",
                    "nullable": true
                  },
                  "expYear": {
                    "description": "Card expiration year in format: YYYY",
                    "maxLength": 4,
                    "type": "string",
                    "nullable": true
                  },
                  "issuingBank": {
                    "description": "The name of issuing bank.",
                    "maxLength": 12,
                    "type": "string",
                    "nullable": true
                  },
                  "cardBrand": {
                    "description": "Card brand.",
                    "maxLength": 12,
                    "type": "string",
                    "nullable": true
                  },
                  "isPanEnrolled": {
                    "description": "Informs if the details about the card are enrolled.\n\n- **true**: The details about the card are enrolled.\n- **false**: The details about the card are not enrolled.",
                    "type": "boolean"
                  }
                }
              },
              "orderReference": {
                "description": "PayEx order reference.",
                "maxLength": 40,
                "type": "string"
              }
            }
          },
          "paymentInfoSwishPayEx": {
            "description": "This field is optional, but must be set if `prepaid`= true and `paymentMethod` = swishPayex, otherwise the request will fail.",
            "required": [
              "transactionId",
              "merchantId",
              "transactionSaleId"
            ],
            "type": "object",
            "properties": {
              "transactionId": {
                "description": "Id for payment transaction generated by Swish",
                "maxLength": 255,
                "type": "string"
              },
              "merchantId": {
                "description": "Unique ID that identify the payment provider.",
                "maxLength": 64,
                "type": "string"
              },
              "phoneNumber": {
                "description": "Phone number used for payment. \nA phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164).",
                "maxLength": 15,
                "type": "string"
              },
              "transactionSaleId": {
                "description": "Unique sale transaction id generated by Swish",
                "maxLength": 255,
                "type": "string"
              },
              "paymentReference": {
                "description": "Unique payment reference generated by Swish",
                "maxLength": 64,
                "type": "string"
              }
            }
          },
          "paymentInfoVippsEcommerce": {
            "description": "This field is optional, but must be set if `prepaid`= true and `paymentMethod` = vippsEcommerce, otherwise the request will fail.",
            "required": [
              "transactionId",
              "merchantId"
            ],
            "type": "object",
            "properties": {
              "transactionId": {
                "description": "Id which uniquely identifies a payment in Vipps(orderId).",
                "maxLength": 50,
                "type": "string"
              },
              "merchantId": {
                "description": "Unique ID that identify the payment provider.",
                "maxLength": 64,
                "type": "string"
              }
            }
          },
          "paymentInfoNexi": {
            "description": "This field is optional, but must be set if `prepaid`= true and `paymentMethod` = nexi, otherwise the request will fail.",
            "required": [
              "paymentId",
              "merchantId"
            ],
            "type": "object",
            "properties": {
              "paymentId": {
                "description": "Unique ID which identifies a payment in Nexi.",
                "maxLength": 64,
                "type": "string"
              },
              "merchantId": {
                "description": "Unique ID which identifies a payment provider.",
                "maxLength": 64,
                "type": "string"
              },
              "subscriptionId": {
                "description": "Unique ID which identifies a subscription in Nexi. This is only required if `recurring` is true and `prepaid` is true.",
                "maxLength": 64,
                "type": "string"
              },
              "chargeId": {
                "description": "Unique ID which identifies a charge in Nexi.",
                "maxLength": 64,
                "type": "string"
              },
              "orderReference": {
                "description": "Nexi order reference.",
                "maxLength": 40,
                "type": "string"
              },
              "paymentDetails": {
                "description": "Additional information about payment details.",
                "type": "object",
                "properties": {
                  "cardDetails": {
                    "description": "Additional information about card details.",
                    "type": "object",
                    "properties": {
                      "cardMaskedPan": {
                        "description": "Card masked pan.",
                        "maxLength": 64,
                        "type": "string"
                      },
                      "expMonth": {
                        "description": "Card expiration month in format: MM",
                        "maxLength": 2,
                        "type": "string"
                      },
                      "expYear": {
                        "description": "Card expiration year in format: YY",
                        "maxLength": 2,
                        "type": "string"
                      }
                    }
                  },
                  "paymentType": {
                    "description": "Nexi payment type\n* **CARD**: Paid by using card. \n* **INVOICE**: Paid by invoice.\n* **WALLET**: Paid by wallet.\n* **A2A**: Paid directly from one bank or financial account to another without the\nneed for intermediaries such as credit cards or electronic payment accounts.",
                    "enum": [
                      "CARD",
                      "INVOICE",
                      "WALLET",
                      "A2A"
                    ],
                    "type": "string"
                  },
                  "paymentMethod": {
                    "description": "Nexi payment method. Payment method depends on `paymentType`\n* **CARD**: \"AmEx\", \"Dankort\", \"Forbrugsforeningen\", \"MasterCard\", \"Visa\"  \n* **INVOICE**: \"Arvato\", \"ExpressBank\", \"RatePayInvoice\"   \n* **WALLET**: \"Apple Pay\", \"Klarna\", \"MobilePay\", \"PayPal\", \"Vipps\"\n* **A2A**: \"RatePaySepa\", \"Sofort\", \"Swish\", \"Trustly\"",
                    "enum": [
                      "AmEx",
                      "Arvato",
                      "Dankort",
                      "MasterCard",
                      "MobilePay",
                      "Apple Pay",
                      "PayPal",
                      "RatePayInvoice",
                      "ExpressBank",
                      "RatePaySepa",
                      "Sofort",
                      "Swish",
                      "Trustly",
                      "Vipps",
                      "Visa",
                      "Forbrugsforeningen",
                      "Klarna"
                    ],
                    "type": "string"
                  }
                }
              }
            }
          },
          "paymentInfoOther": {
            "description": "This field is optional, but must be set if `prepaid`= true  and `paymentMethod` = other, otherwise the request will fail.",
            "required": [
              "transactionId",
              "merchantId"
            ],
            "type": "object",
            "properties": {
              "transactionId": {
                "description": "Id for payment transaction.",
                "maxLength": 12,
                "type": "string"
              },
              "merchantId": {
                "description": "Unique ID that identify the payment provider.",
                "maxLength": 64,
                "type": "string"
              },
              "description": {
                "description": "Description for payment transaction.",
                "maxLength": 64,
                "type": "string"
              }
            }
          },
          "mcPayRef": {
            "description": "UnitePay (McPay) transaction id. Specify it if the order was prepaid using UnitePay.",
            "type": "string"
          },
          "shareCode": {
            "description": "Share code, the unique key to find given share. When provided order will be treated as B2B order for accepted shared subscription.",
            "maxLength": 255,
            "type": "string"
          }
        }
      },
      "Model-Product": {
        "description": "",
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "companyCode": {
                  "description": "Company code for the product\t",
                  "maxLength": 12,
                  "type": "string"
                },
                "product": {
                  "description": "Product code",
                  "maxLength": 12,
                  "type": "string"
                },
                "description": {
                  "description": "Description of the product",
                  "maxLength": 40,
                  "type": "string"
                },
                "productType": {
                  "description": "Vaild product type:\n\n- **magazine**\n- **newspaper**:\n- **series**: A set of periodicals, books or other documents published under a common title.\n- **general**",
                  "enum": [
                    "magazine",
                    "newspaper",
                    "series",
                    "general"
                  ],
                  "type": "string"
                },
                "startTime": {
                  "description": "Start time to use this product.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "endTime": {
                  "description": "End time to use this product\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC.",
                  "type": "integer"
                },
                "weight": {
                  "description": "Weight in grams.",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "campaigns": {
                  "description": "campaign",
                  "type": "string"
                },
                "currency": {
                  "description": "Currency code for product price [**ISO4217 - alphabetic code**](https://en.wikipedia.org/wiki/ISO_4217). Only used when `productType` is general.",
                  "maxLength": 3,
                  "type": "string"
                },
                "webOfferPrice": {
                  "description": "Web offer price, typically discounted price compared to retail price. Only used when `productType` general",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "retailPrice": {
                  "description": "Retail or list price. Only used when `productType` is general.",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "vatPercent": {
                  "description": "VAT percent to use for this product. Vat included or excluded in given prices.",
                  "multipleOf": 0.01,
                  "type": "number"
                },
                "digital": {
                  "description": "Informs if it is a digital product.\n\n- **true**: It is a digital product\n- **false**: It is not a digital product",
                  "type": "boolean"
                },
                "group1": {
                  "description": "Free text field.",
                  "maxLength": 12,
                  "type": "string"
                },
                "orderTypeCodes": {
                  "description": "Order type codes which a general product is allowed for use on",
                  "type": "array",
                  "items": {
                    "maxLength": 12,
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "RegisterRecruitmentClientMode-request": {
        "description": "",
        "required": [
          "product",
          "campaign",
          "recruiter",
          "recruitments"
        ],
        "type": "object",
        "properties": {
          "product": {
            "description": "Product code. The product must be a subcription product.\t",
            "maxLength": 12,
            "type": "string"
          },
          "campaign": {
            "description": "Campaign code",
            "maxLength": 12,
            "type": "string"
          },
          "recruiter": {
            "description": "The recruiter",
            "required": [
              "name",
              "address"
            ],
            "type": "object",
            "properties": {
              "name": {
                "required": [
                  "lastName"
                ],
                "type": "object",
                "properties": {
                  "firstName": {
                    "description": "First name",
                    "maxLength": 30,
                    "type": "string"
                  },
                  "middleName": {
                    "description": "Middle name",
                    "maxLength": 30,
                    "type": "string"
                  },
                  "lastName": {
                    "description": "Last name",
                    "maxLength": 30,
                    "type": "string"
                  },
                  "companyName": {
                    "description": "Company name",
                    "maxLength": 40,
                    "type": "string"
                  },
                  "departmentName": {
                    "description": "Department name",
                    "maxLength": 40,
                    "type": "string"
                  }
                }
              },
              "address": {
                "$ref": "#/components/schemas/Model-Address"
              },
              "phoneNumber": {
                "description": "The recruiters phonenumber.\n\nA phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
                "maxLength": 20,
                "type": "string"
              },
              "email": {
                "format": "email",
                "description": "The recruiters email",
                "maxLength": 255,
                "type": "string"
              }
            }
          },
          "recruitmentPremiumPreferences": {
            "description": "* Missing list, i.e element missing, cause no changes in existing premium preferences.\n* List (empty or not) result in replacing existing premium preferences, i.e empty list will remove all premium preferences.",
            "type": "array",
            "items": {
              "required": [
                "companyCode",
                "product",
                "preferenceNumber"
              ],
              "type": "object",
              "properties": {
                "companyCode": {
                  "description": "The company that owns the product",
                  "maxLength": 12,
                  "type": "string"
                },
                "product": {
                  "description": "The premium product\t",
                  "maxLength": 12,
                  "type": "string"
                },
                "preferenceNumber": {
                  "description": "The preference number for this premium, representing the sorting order of wanted premiums, with 1 representing the preferred premium product.",
                  "type": "integer"
                }
              }
            }
          },
          "recruitments": {
            "type": "array",
            "items": {
              "required": [
                "name",
                "address",
                "couponCode",
                "couponNumber",
                "amount",
                "quantity"
              ],
              "type": "object",
              "properties": {
                "name": {
                  "required": [
                    "lastName"
                  ],
                  "type": "object",
                  "properties": {
                    "firstName": {
                      "description": "First name",
                      "maxLength": 30,
                      "type": "string"
                    },
                    "middleName": {
                      "description": "Middle name",
                      "maxLength": 30,
                      "type": "string"
                    },
                    "lastName": {
                      "description": "Last name",
                      "maxLength": 30,
                      "type": "string"
                    },
                    "companyName": {
                      "description": "Company name",
                      "maxLength": 40,
                      "type": "string"
                    },
                    "departmentName": {
                      "description": "Department name",
                      "maxLength": 40,
                      "type": "string"
                    }
                  }
                },
                "address": {
                  "$ref": "#/components/schemas/Model-Address"
                },
                "couponCode": {
                  "description": "Coupon code used when starting the recuited persons subscription",
                  "maxLength": 12,
                  "type": "string"
                },
                "couponNumber": {
                  "description": "Coupon number used when starting the recuited persons subscription",
                  "type": "integer"
                },
                "amount": {
                  "description": "Amount to use on the recuited one. This is usually zero, but may have another value. Must be greater or equals to zero",
                  "multipleOf": 0.01,
                  "minimum": 0,
                  "type": "number"
                },
                "quantity": {
                  "description": "Number of copies used when starting. This is usually 1, but may have another value. Must be greater or equals to 1",
                  "minimum": 1,
                  "type": "integer"
                },
                "phoneNumber": {
                  "description": "Recruits phone number.\n\nA phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
                  "maxLength": 20,
                  "type": "string"
                },
                "email": {
                  "format": "email",
                  "description": "Recruits e-mail addresse",
                  "maxLength": 255,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "RegisterRecruitments-request": {
        "description": "",
        "required": [
          "product",
          "campaign",
          "recruitments"
        ],
        "type": "object",
        "properties": {
          "product": {
            "maxLength": 12,
            "type": "string"
          },
          "campaign": {
            "maxLength": 12,
            "type": "string"
          },
          "recruiter": {
            "required": [
              "name",
              "address"
            ],
            "type": "object",
            "properties": {
              "name": {
                "$ref": "#/components/schemas/Model-Name"
              },
              "address": {
                "$ref": "#/components/schemas/Model-Address"
              },
              "phoneNumber": {
                "description": "A phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
                "maxLength": 20,
                "type": "string"
              },
              "email": {
                "format": "email",
                "description": "The recruiters email",
                "maxLength": 255,
                "type": "string"
              },
              "customerNumber": {
                "description": "Customer number",
                "type": "integer"
              }
            }
          },
          "recruitmentPremiumPreferences": {
            "type": "array",
            "items": {
              "required": [
                "companyCode",
                "product",
                "preferenceNumber"
              ],
              "type": "object",
              "properties": {
                "companyCode": {
                  "description": "The company that owns the product",
                  "maxLength": 12,
                  "type": "string"
                },
                "product": {
                  "description": "The premium product\t",
                  "maxLength": 12,
                  "type": "string"
                },
                "preferenceNumber": {
                  "description": "The preference number for this premium, representing the sorting order of wanted premiums, with 1 representing the preferred premium product",
                  "type": "integer"
                }
              }
            }
          },
          "recruitments": {
            "description": " The coupon must belong to the given product in the recruitment request.",
            "type": "array",
            "items": {
              "required": [
                "name",
                "address",
                "couponCode",
                "couponNumber",
                "amount",
                "quantity"
              ],
              "type": "object",
              "properties": {
                "name": {
                  "$ref": "#/components/schemas/Model-Name"
                },
                "address": {
                  "$ref": "#/components/schemas/Model-Address"
                },
                "couponCode": {
                  "description": "Coupon code used when starting the recuited persons subscription\t",
                  "maxLength": 12,
                  "type": "string"
                },
                "couponNumber": {
                  "description": "Coupon number used when starting the recuited persons subscription\t",
                  "type": "integer"
                },
                "amount": {
                  "description": "Amount to use on the recuited one. This is usually zero, but may have another value. Must be greater or equals to zero\t",
                  "multipleOf": 0.01,
                  "minimum": 0,
                  "type": "number"
                },
                "quantity": {
                  "description": "Number of copies used when starting. This is usually 1, but may have another value. Must be greater or equals to 1\t",
                  "minimum": 1,
                  "type": "integer"
                },
                "phoneNumber": {
                  "description": "Recruits phone number\n\nA phone number has to follow the telephone number standard [**E.164**](https://en.wikipedia.org/wiki/E.164)",
                  "maxLength": 20,
                  "type": "string"
                },
                "email": {
                  "format": "email",
                  "description": "Recruits e-mail addresse",
                  "maxLength": 255,
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "ListproductdeliveryplanClientMode-response": {
        "description": "",
        "type": "object",
        "properties": {
          "productDeliveryPlanId": {
            "description": "The unique id for productdeliveryplan",
            "type": "integer"
          },
          "planName": {
            "description": "The name of productdeliveryplan",
            "maxLength": 12,
            "type": "string"
          },
          "planDescription": {
            "description": "Description of Plan",
            "maxLength": 40,
            "type": "string"
          },
          "monday": {
            "description": "The field specifies the subscriber's access to digital and/or physical delivery on Mondays, with the following possible values:\n\n* **fullAccessAndDelivery**: Provides both digital access and physical delivery of the product on Mondays.\n* **onlyPhysicalDelivery**: Offers only physical delivery without digital access on Mondays.\n* **onlyDigitalAccess**: Allows only digital access to the product, excluding physical delivery on Mondays.\n* **noAccessOrDelivery**: Neither digital access nor physical delivery is available for the product on Mondays.",
            "enum": [
              "fullAccessAndDelivery",
              "onlyPhysicalDelivery",
              "onlyDigitalAccess",
              "noAccessOrDelivery"
            ],
            "type": "string"
          },
          "tuesday": {
            "description": "The field specifies the subscriber's access to digital and/or physical delivery on Tuesday, with the following possible values:\n\n* **fullAccessAndDelivery**: Provides both digital access and physical delivery of the product on Tuesday.\n* **onlyPhysicalDelivery**: Offers only physical delivery without digital access on Tuesday.\n* **onlyDigitalAccess**: Allows only digital access to the product, excluding physical delivery on Tuesday.\n* **noAccessOrDelivery**: Neither digital access nor physical delivery is available for the product on Tuesday.",
            "enum": [
              "fullAccessAndDelivery",
              "onlyPhysicalDelivery",
              "onlyDigitalAccess",
              "noAccessOrDelivery"
            ],
            "type": "string"
          },
          "wednesday": {
            "description": "The field specifies the subscriber's access to digital and/or physical delivery on Wednesdays, with the following possible values:\n\n* **fullAccessAndDelivery**: Provides both digital access and physical delivery of the product on Wednesdays.\n* **onlyPhysicalDelivery**: Offers only physical delivery without digital access on Wednesdays.\n* **onlyDigitalAccess**: Allows only digital access to the product, excluding physical delivery on Wednesdays.\n* **noAccessOrDelivery**: Neither digital access nor physical delivery is available for the product on Wednesdays.",
            "enum": [
              "fullAccessAndDelivery",
              "onlyPhysicalDelivery",
              "onlyDigitalAccess",
              "noAccessOrDelivery"
            ],
            "type": "string"
          },
          "thursday": {
            "description": "The field specifies the subscriber's access to digital and/or physical delivery on Thursdays, with the following possible values:\n\n* **fullAccessAndDelivery**: Provides both digital access and physical delivery of the product on Thursdays.\n* **onlyPhysicalDelivery**: Offers only physical delivery without digital access on Thursdays.\n* **onlyDigitalAccess**: Allows only digital access to the product, excluding physical delivery on Thursdays.\n* **noAccessOrDelivery**: Neither digital access nor physical delivery is available for the product on Thursdays.",
            "enum": [
              "fullAccessAndDelivery",
              "onlyPhysicalDelivery",
              "onlyDigitalAccess",
              "noAccessOrDelivery"
            ],
            "type": "string"
          },
          "friday": {
            "description": "The field specifies the subscriber's access to digital and/or physical delivery on Fridays, with the following possible values:\n\n* **fullAccessAndDelivery**: Provides both digital access and physical delivery of the product on Fridays.\n* **onlyPhysicalDelivery**: Offers only physical delivery without digital access on Fridays.\n* **onlyDigitalAccess**: Allows only digital access to the product, excluding physical delivery on Fridays.\n* **noAccessOrDelivery**: Neither digital access nor physical delivery is available for the product on Fridays.",
            "enum": [
              "fullAccessAndDelivery",
              "onlyPhysicalDelivery",
              "onlyDigitalAccess",
              "noAccessOrDelivery"
            ],
            "type": "string"
          },
          "saturday": {
            "description": "The field specifies the subscriber's access to digital and/or physical delivery on Saturdays, with the following possible values:\n\n* **fullAccessAndDelivery**: Provides both digital access and physical delivery of the product on Saturdays.\n* **onlyPhysicalDelivery**: Offers only physical delivery without digital access on Saturdays.\n* **onlyDigitalAccess**: Allows only digital access to the product, excluding physical delivery on Saturdays.\n* **noAccessOrDelivery**: Neither digital access nor physical delivery is available for the product on Saturdays.",
            "enum": [
              "fullAccessAndDelivery",
              "onlyPhysicalDelivery",
              "onlyDigitalAccess",
              "noAccessOrDelivery"
            ],
            "type": "string"
          },
          "sunday": {
            "description": "The field specifies the subscriber's access to digital and/or physical delivery on Sundays, with the following possible values:\n\n* **fullAccessAndDelivery**: Provides both digital access and physical delivery of the product on Sundays.\n* **onlyPhysicalDelivery**: Offers only physical delivery without digital access on Sundays.\n* **onlyDigitalAccess**: Allows only digital access to the product, excluding physical delivery on Sundays.\n* **noAccessOrDelivery**: Neither digital access nor physical delivery is available for the product on Sundays.",
            "enum": [
              "fullAccessAndDelivery",
              "onlyPhysicalDelivery",
              "onlyDigitalAccess",
              "noAccessOrDelivery"
            ],
            "type": "string"
          }
        }
      },
      "Model-ListSubscriptions-response": {
        "description": "",
        "type": "object",
        "properties": {
          "subscriptions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "product": {
                  "description": "The product id- A unique id for the product.",
                  "maxLength": 12,
                  "type": "string"
                },
                "stopped": {
                  "description": "Informs if the  subscription is stopped.\n\n- **true**: The subscription is stopped.\n- **false**:  The subscription is not stopped.",
                  "type": "boolean"
                },
                "startTime": {
                  "description": "Start of the current subscription period.\n\nstartTime is 00:00:00 on the subscription start date. If the user continues to pay for the subscription then startTime does not change. If the user stops paying for the subscription and later starts a new subscription on the same product (and some time has passed during which the user did not pay) then startTime will be 00:00:00 on the new start date.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                  "type": "integer"
                },
                "endTime": {
                  "description": "End of the current subscription period.\n\nendTime is 23:59:59 on the last date that the user has paid for or 23:59:59 on the publication date of the last issue that the user has received if that is a later date (relevant for free subscriptions).\n\nEnd of the current subscription period.\n\nUnix Epoch timestamps in milliseconds since 1st January 1970 UTC",
                  "type": "integer"
                },
                "paid": {
                  "description": "Informs if the subscription period is paid.\n\n- **true**: The subscription period is paid.\n- **false**:  The subscription period is unpaid.",
                  "type": "boolean"
                },
                "priceDetails": {
                  "type": "object",
                  "properties": {
                    "couponCode": {
                      "description": "CouponCode",
                      "maxLength": 12,
                      "type": "string"
                    },
                    "couponNumber": {
                      "description": "CouponNumber",
                      "type": "integer"
                    },
                    "discountfromfullsm": {
                      "description": "The discount",
                      "multipleOf": 0.01,
                      "type": "number"
                    },
                    "promotion": {
                      "description": "Promotion",
                      "maxLength": 12,
                      "type": "string"
                    },
                    "promotionCategory": {
                      "description": "promotionCategory",
                      "maxLength": 12,
                      "type": "string"
                    },
                    "categoryType": {
                      "description": "The category type",
                      "maxLength": 12,
                      "type": "string"
                    }
                  }
                },
                "shareable": {
                  "description": "Informs if the subscription can be shared.\n\n- **true**: The subscription can be shared\n- **false**:  The subscription cannot be shared.",
                  "type": "boolean"
                },
                "shareType": {
                  "description": "Specifies share type when subscription can be shared.\n\n- **USERS**: Shareable with users\n- **NETS**:  Shareable nets (per domain, IP range)\n- **B2B**: B2B shareable",
                  "type": "string"
                },
                "salesPerson": {
                  "description": "The sales person identifier on this subscription.",
                  "maxLength": 12,
                  "type": "string"
                },
                "distributionLevel": {
                  "description": "Distribution level. Mainly important for B2B source(received) subscription. Based on this value you can resolve whether it is paper distribution or not.",
                  "maxLength": 1,
                  "type": "string"
                },
                "productDeliveryPlanId": {
                  "description": "The unique id for productdeliveryplan",
                  "type": "integer"
                }
              }
            }
          }
        }
      }
    },
    "responses": {},
    "securitySchemes": {
      "Authorization_Code_Production": {
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://connectid.no/user/oauth/authorize",
            "tokenUrl": "https://connectid.no/user/oauth/token",
            "refreshUrl": "https://connectid.no/user/oauth/token",
            "scopes": {
              "read": "For all access"
            }
          }
        },
        "type": "oauth2",
        "description": "Below you find the URLs that you need to use Oauth 2.0 and these are based on the Norwegian\ndomain `.no`.\n\nIf you wish to use the Swedish domain, please use `.se` instead of `.no`."
      },
      "Client_Credentials_Production": {
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://connectid.no/user/oauth/token",
            "refreshUrl": "https://connectid.no/user/oauth/token",
            "scopes": {
              "read": "For all access"
            }
          }
        },
        "description": "Below you find the URLs that you need to use Oauth 2.0 and these are based on the Norwegian\ndomain `.no`.\n\nIf you wish to use the Swedish domain, please use `.se` instead of `.no`.",
        "type": "oauth2"
      }
    }
  },
  "servers": [],
  "security": []
}
