Entur · Schema
CustomerPutRequest
A registered customer put request. Required fields are firstName, surname, password, organizationId, changedBy and changedByChannel.
CompanyPublic TransportJourney PlanningMobilityOpen DataNorwayTransitGraphQL
Properties
| Name | Type | Description |
|---|---|---|
| changedBy | string | Who last changed the customer. Either web, app or username of employee. Used for traceability in accordance with GDPR |
| changedByChannel | string | Which sales channel or system who last changed the customer. Used for traceability in accordance with GDPR |
| countryCode | string | Telephone number country code, starting with +. |
| customerAccountId | string | Deprecated. The field is no longer stored. Use /profiles/{customerNumber}/customer-accounts. Customer account id used for account based ticketing. |
| dateOfBirth | string | Date of birth. ISO 8601 date format |
| string | Email used for contact and potentially also for login | |
| emailVerifiedAt | string | When the email was verified. ISO 8601 date format |
| expirationDate | string | The date when the customers personal data should be deleted. Personal data will be deleted continuously. ISO 8601 date format |
| firstName | string | First and middle name. |
| landlineNumber | string | Landline telephone number. |
| languagePreference | string | Deprecated, please use languagePreferenceISO6393. Which language the customer wants information in. Default is 'NO'. |
| languagePreferenceISO6393 | string | Which language the customer wants information in. ISO 639-3 format. Default is 'NOB'. |
| nationality | string | The customers nationality. ISO 3166-1 alpha-3 format |
| postalAddresses | array | The postal addresses connected to the customer. |
| status | string | Customer status. Statuses supported: 'A' = Active, 'P' = Passive, 'D' = Deleted. Default is 'A'. |
| surname | string | Surname. |
| telephoneNumber | string | Deprecated. Please use countryCode and telephoneNumberNoCountryCode. Telephone number for customer. This should be a cell phone number. |
| telephoneNumberNoCountryCode | string | Telephone number without country code or punctuation. |
| telephoneNumberVerifiedAt | string | When the telephone number was verified. ISO 8601 date format |
| vippsId | string | Deprecated. The field is no longer stored and is ignored. Vipps unique user identifier. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-customer-put-request-schema.json",
"title": "CustomerPutRequest",
"description": "A registered customer put request. Required fields are firstName, surname, password, organizationId, changedBy and changedByChannel.",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/entur-customers-openapi.yml#/components/schemas/CustomerPutRequest",
"required": [
"changedBy",
"changedByChannel",
"firstName",
"surname"
],
"type": "object",
"properties": {
"changedBy": {
"maxLength": 100,
"type": "string",
"description": "Who last changed the customer. Either web, app or username of employee. Used for traceability in accordance with GDPR"
},
"changedByChannel": {
"maxLength": 100,
"type": "string",
"description": "Which sales channel or system who last changed the customer. Used for traceability in accordance with GDPR"
},
"countryCode": {
"maxLength": 4,
"type": "string",
"description": "Telephone number country code, starting with +."
},
"customerAccountId": {
"maxLength": 60,
"type": "string",
"description": "Deprecated. The field is no longer stored. Use /profiles/{customerNumber}/customer-accounts. Customer account id used for account based ticketing.",
"deprecated": true
},
"dateOfBirth": {
"type": "string",
"description": "Date of birth. ISO 8601 date format",
"format": "date"
},
"email": {
"maxLength": 80,
"type": "string",
"description": "Email used for contact and potentially also for login"
},
"emailVerifiedAt": {
"type": "string",
"description": "When the email was verified. ISO 8601 date format",
"format": "date-time"
},
"expirationDate": {
"type": "string",
"description": "The date when the customers personal data should be deleted. Personal data will be deleted continuously. ISO 8601 date format",
"format": "date-time"
},
"firstName": {
"maxLength": 50,
"type": "string",
"description": "First and middle name."
},
"landlineNumber": {
"maxLength": 80,
"type": "string",
"description": "Landline telephone number."
},
"languagePreference": {
"type": "string",
"description": "Deprecated, please use languagePreferenceISO6393. Which language the customer wants information in. Default is 'NO'.",
"deprecated": true,
"enum": [
"NO",
"EN"
]
},
"languagePreferenceISO6393": {
"type": "string",
"description": "Which language the customer wants information in. ISO 639-3 format. Default is 'NOB'.",
"enum": [
"NOB",
"NNO",
"ENG"
]
},
"nationality": {
"maxLength": 3,
"minLength": 3,
"type": "string",
"description": "The customers nationality. ISO 3166-1 alpha-3 format"
},
"postalAddresses": {
"type": "array",
"description": "The postal addresses connected to the customer.",
"items": {
"$ref": "#/$defs/PostalAddressRequest"
}
},
"status": {
"type": "string",
"description": "Customer status. Statuses supported: 'A' = Active, 'P' = Passive, 'D' = Deleted. Default is 'A'.",
"default": "A",
"enum": [
"A",
"P",
"D"
]
},
"surname": {
"maxLength": 50,
"type": "string",
"description": "Surname."
},
"telephoneNumber": {
"maxLength": 80,
"type": "string",
"description": "Deprecated. Please use countryCode and telephoneNumberNoCountryCode. Telephone number for customer. This should be a cell phone number."
},
"telephoneNumberNoCountryCode": {
"maxLength": 12,
"type": "string",
"description": "Telephone number without country code or punctuation."
},
"telephoneNumberVerifiedAt": {
"type": "string",
"description": "When the telephone number was verified. ISO 8601 date format",
"format": "date-time"
},
"vippsId": {
"type": "string",
"description": "Deprecated. The field is no longer stored and is ignored. Vipps unique user identifier.",
"format": "uuid",
"deprecated": true
}
},
"$defs": {
"PostalAddressRequest": {
"required": [
"countryCode",
"postCode",
"town",
"typeOfAddress"
],
"type": "object",
"properties": {
"addressLine1": {
"maxLength": 80,
"type": "string",
"description": "Address line 1."
},
"addressLine2": {
"maxLength": 80,
"type": "string",
"description": "Address line 2, often used for c/o information."
},
"countryCode": {
"maxLength": 3,
"minLength": 3,
"type": "string",
"description": "The address country code. ISO 3166-1 alpha-3 format"
},
"id": {
"type": "integer",
"description": "Unique id for postal address. This value is exclusively used when updating a full customer, to identify which of the addresses to update. Otherwise it is ignored.",
"format": "int64"
},
"postCode": {
"maxLength": 10,
"type": "string",
"description": "The address post code. Only 4 digits for Norwegian addresses."
},
"town": {
"type": "string",
"description": "The address post town. Will be required"
},
"typeOfAddress": {
"type": "string",
"description": "The type of address. Types supported: 'P' = Private, 'I' = Invoice, 'S' = Shadow.",
"enum": [
"P",
"I",
"S"
]
},
"verifiedAt": {
"type": "string",
"description": "When the address was verified. ISO 8601 date format",
"format": "date-time"
}
},
"description": "Postal address connected to a customer"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/entur-customer-put-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.