Entur · Schema
TemporaryCustomerResponse
A registered customer
CompanyPublic TransportJourney PlanningMobilityOpen DataNorwayTransitGraphQL
Properties
| Name | Type | Description |
|---|---|---|
| changedAt | string | When the customer was last changed. ISO 8601 date format |
| 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 +. |
| createdAt | string | When the customer was created. ISO 8601 date format |
| createdBy | string | Who created the customer. Either web, app or username of employee. Used for traceability in accordance with GDPR |
| createdByChannel | string | Which sales channel or system who created the customer. Used for traceability in accordance with GDPR |
| customerAccountId | string | Customer account id used for account based ticketing |
| customerConsents | array | The legacy consents connected to the customer. |
| customerNumber | integer | Customer number. |
| customerRef | string | Optional customer reference. Defaults to customer number if not set. |
| dateOfBirth | string | Date of birth. ISO 8601 date format |
| dateOfDeath | string | Date of death. ISO 8601 date format |
| string | Contact email. | |
| emailOld | string | When customer is deleted (status='D'), the value of 'email' is moved here to allow creation of a new customer with the same email. |
| 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. |
| givenConsents | array | The consents connected to the customer. Deprecated |
| landlineNumber | string | Landline telephone number. |
| nationality | string | The customers nationality. ISO 3166-1 alpha-3 format |
| notes | array | The notes connected to the customer. |
| organisationId | integer | The organisation the customer is registered with. |
| postalAddresses | array | The postal addresses connected to the customer. |
| preferences | array | The preferences 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 |
| uuid | string | A universal unique id for the customer. 32 random alphanumeric characters. Not RFC 4122 compliant |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-temporary-customer-response-schema.json",
"title": "TemporaryCustomerResponse",
"description": "A registered customer",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/entur-customers-openapi.yml#/components/schemas/TemporaryCustomerResponse",
"required": [
"changedAt",
"changedBy",
"changedByChannel",
"createdAt",
"createdBy",
"createdByChannel",
"customerNumber",
"expirationDate",
"firstName",
"organisationId",
"status",
"surname",
"uuid"
],
"type": "object",
"properties": {
"changedAt": {
"type": "string",
"description": "When the customer was last changed. ISO 8601 date format",
"format": "date-time"
},
"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 +."
},
"createdAt": {
"type": "string",
"description": "When the customer was created. ISO 8601 date format",
"format": "date-time"
},
"createdBy": {
"maxLength": 100,
"type": "string",
"description": "Who created the customer. Either web, app or username of employee. Used for traceability in accordance with GDPR"
},
"createdByChannel": {
"maxLength": 100,
"type": "string",
"description": "Which sales channel or system who created the customer. Used for traceability in accordance with GDPR"
},
"customerAccountId": {
"maxLength": 60,
"type": "string",
"description": "Customer account id used for account based ticketing"
},
"customerConsents": {
"type": "array",
"description": "The legacy consents connected to the customer.",
"items": {
"$ref": "#/$defs/CustomerConsent"
}
},
"customerNumber": {
"type": "integer",
"description": "Customer number.",
"format": "int64"
},
"customerRef": {
"maxLength": 40,
"type": "string",
"description": "Optional customer reference. Defaults to customer number if not set."
},
"dateOfBirth": {
"type": "string",
"description": "Date of birth. ISO 8601 date format",
"format": "date"
},
"dateOfDeath": {
"type": "string",
"description": "Date of death. ISO 8601 date format",
"format": "date"
},
"email": {
"maxLength": 80,
"type": "string",
"description": "Contact email."
},
"emailOld": {
"maxLength": 80,
"type": "string",
"description": "When customer is deleted (status='D'), the value of 'email' is moved here to allow creation of a new customer with the same email."
},
"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."
},
"givenConsents": {
"type": "array",
"description": "The consents connected to the customer. Deprecated",
"deprecated": true,
"items": {
"type": "object",
"description": "The consents connected to the customer. Deprecated",
"deprecated": true
}
},
"landlineNumber": {
"maxLength": 20,
"type": "string",
"description": "Landline telephone number."
},
"nationality": {
"maxLength": 3,
"type": "string",
"description": "The customers nationality. ISO 3166-1 alpha-3 format"
},
"notes": {
"type": "array",
"description": "The notes connected to the customer.",
"items": {
"$ref": "#/$defs/NoteResponse"
}
},
"organisationId": {
"type": "integer",
"description": "The organisation the customer is registered with.",
"format": "int64"
},
"postalAddresses": {
"type": "array",
"description": "The postal addresses connected to the customer.",
"items": {
"$ref": "#/$defs/PostalAddressResponse"
}
},
"preferences": {
"type": "array",
"description": "The preferences connected to the customer.",
"items": {
"$ref": "#/$defs/CustomerPreferenceResponse"
}
},
"status": {
"type": "string",
"description": "Customer status. Statuses supported: 'A' = Active, 'P' = Passive, 'D' = Deleted. Default is 'A'.",
"enum": [
"A",
"P",
"D"
]
},
"surname": {
"maxLength": 50,
"type": "string",
"description": "Surname."
},
"telephoneNumber": {
"maxLength": 20,
"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"
},
"uuid": {
"maxLength": 32,
"minLength": 32,
"type": "string",
"description": "A universal unique id for the customer. 32 random alphanumeric characters. Not RFC 4122 compliant"
}
},
"$defs": {
"CustomerConsent": {
"type": "object",
"properties": {
"changedAt": {
"type": "string",
"description": "When the customer consent was last changed.",
"format": "date-time"
},
"consentChoice": {
"type": "boolean",
"description": "Whether the customer has approved or declined this consent."
},
"consentCode": {
"maxLength": 20,
"type": "string",
"description": "The consent code."
},
"createdAt": {
"type": "string",
"description": "When the customer consent was created.",
"format": "date-time"
},
"customerId": {
"type": "integer",
"description": "Id of the customer.",
"format": "int64"
}
},
"description": "Legacy consents for a customer"
},
"CustomerPreferenceResponse": {
"required": [
"changedAt",
"createdAt",
"preference",
"preferenceId"
],
"type": "object",
"properties": {
"changedAt": {
"type": "string",
"description": "When the customer preference was last changed. ISO 8601 date format",
"format": "date-time"
},
"createdAt": {
"type": "string",
"description": "When the customer preference was created. ISO 8601 date format",
"format": "date-time"
},
"customerId": {
"type": "integer",
"description": "Id of the customer. Deprecated",
"format": "int64",
"deprecated": true
},
"preference": {
"$ref": "#/$defs/PreferenceResponse"
},
"preferenceId": {
"type": "integer",
"description": "Id of the preference",
"format": "int64"
},
"preferenceValue": {
"maxLength": 100,
"minLength": 1,
"type": "string",
"description": "Value of the preference. This can be things like membership number."
}
},
"description": "Preferences response for a customer"
},
"NoteResponse": {
"required": [
"changedAt",
"changedBy",
"createdAt",
"createdBy",
"customerId",
"id",
"text"
],
"type": "object",
"properties": {
"changedAt": {
"type": "string",
"description": "When the note was last changed. ISO 8601 date format",
"format": "date-time"
},
"changedBy": {
"maxLength": 100,
"type": "string",
"description": "Who last changed the note."
},
"createdAt": {
"type": "string",
"description": "When the note was created. ISO 8601 date format",
"format": "date-time"
},
"createdBy": {
"maxLength": 100,
"type": "string",
"description": "Who created the note."
},
"customerId": {
"type": "integer",
"description": "Id of the customer connected to the note.",
"format": "int64"
},
"id": {
"type": "integer",
"description": "Note id.",
"format": "int64"
},
"text": {
"maxLength": 4000,
"type": "string",
"description": "Note content."
}
},
"description": "Deprecated"
},
"PostalAddressResponse": {
"required": [
"changedAt",
"countryCode",
"createdAt",
"customerId",
"id",
"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."
},
"changedAt": {
"type": "string",
"description": "When the postal address was last changed. ISO 8601 date format",
"format": "date-time"
},
"countryCode": {
"maxLength": 3,
"minLength": 3,
"type": "string",
"description": "The address country code. ISO 3166-1 alpha-3 format"
},
"createdAt": {
"type": "string",
"description": "When the postal address was created. ISO 8601 date format",
"format": "date-time"
},
"customerId": {
"type": "integer",
"description": "The customer connected to the address.",
"format": "int64"
},
"id": {
"type": "integer",
"description": "Postal address id.",
"format": "int64"
},
"postCode": {
"maxLength": 10,
"type": "string",
"description": "The address post code."
},
"town": {
"maxLength": 50,
"type": "string",
"description": "The address post town."
},
"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"
},
"PreferenceResponse": {
"required": [
"changedAt",
"createdAt",
"id",
"isActive",
"preferenceCode",
"preferenceDescription",
"preferenceType"
],
"type": "object",
"properties": {
"changedAt": {
"type": "string",
"description": "When the preference was last changed. ISO 8601 date format",
"format": "date-time"
},
"createdAt": {
"type": "string",
"description": "When the preference was created. ISO 8601 date format",
"format": "date-time"
},
"id": {
"type": "integer",
"description": "Preference id.",
"format": "int64"
},
"isActive": {
"type": "boolean",
"description": "Whether the preference is active."
},
"preferenceCode": {
"maxLength": 20,
"type": "string",
"description": "The preference code."
},
"preferenceDescription": {
"maxLength": 255,
"type": "string",
"description": "A description of the preference."
},
"preferenceType": {
"maxLength": 20,
"type": "string",
"description": "Type of preference."
}
},
"description": "Preference"
}
}
}
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-temporary-customer-response"
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.