Entur · Schema

ConsentBaseRequest

Create new consent base

CompanyPublic TransportJourney PlanningMobilityOpen DataNorwayTransitGraphQL

Properties

Name Type Description
consentCode string Consent code, identifying the consent base. Must be unique within the system, prefixing it with the organisation's code space is advisable tp avoid conflict. Has a maximum length of 20 characters.
consentOwnerOrgId integer The organisation that owns the consent. If not set all organisations can use the consent base. |If you're a partner, this will be filled out from your authentication token.
internalDescription array Internal description, describing the use cases for the consent base
orgNameSubstitutionPattern string The pattern on which to perform substitution within terms. Facilitates reusable consent bases across organisations.
terms array Consent terms with long and short description in multiple languages. The descriptions can contain MarkDown
validFrom string If set, the date the consent base is valid from. It is not possible to change the terms after this date without creating a new version. If not set, the consent base is in draft mode.
validTo string If set, the date the consent base is valid to. Set the date to deactivate the consent. If not set the consent is active from validFrom and onwards.
View JSON Schema on GitHub

JSON Schema

entur-consent-base-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-consent-base-request-schema.json",
  "title": "ConsentBaseRequest",
  "description": "Create new consent base",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/entur-consents-openapi.yml#/components/schemas/ConsentBaseRequest",
  "required": [
    "consentCode",
    "terms"
  ],
  "type": "object",
  "properties": {
    "consentCode": {
      "maxLength": 20,
      "type": "string",
      "description": "Consent code, identifying the consent base. Must be unique within the system, prefixing it with the organisation's code space is advisable tp avoid conflict. Has a maximum length of 20 characters."
    },
    "consentOwnerOrgId": {
      "type": "integer",
      "description": "The organisation that owns the consent. If not set all organisations can use the consent base.\n          |If you're a partner, this will be filled out from your authentication token.\n        ",
      "format": "int64"
    },
    "internalDescription": {
      "type": "array",
      "description": "Internal description, describing the use cases for the consent base",
      "items": {
        "$ref": "#/$defs/InternalDescriptionRequest"
      }
    },
    "orgNameSubstitutionPattern": {
      "type": "string",
      "description": "The pattern on which to perform substitution within terms. Facilitates reusable consent bases across organisations."
    },
    "terms": {
      "type": "array",
      "description": "Consent terms with long and short description in multiple languages. The descriptions can contain MarkDown",
      "items": {
        "$ref": "#/$defs/ConsentTermsRequest"
      }
    },
    "validFrom": {
      "type": "string",
      "description": "If set, the date the consent base is valid from. It is not possible to change the terms after this date without creating a new version. If not set, the consent base is in draft mode.",
      "format": "date-time"
    },
    "validTo": {
      "type": "string",
      "description": "If set, the date the consent base is valid to. Set the date to deactivate the consent. If not set the consent is active from validFrom and onwards.",
      "format": "date-time"
    }
  },
  "$defs": {
    "ConsentTermsRequest": {
      "required": [
        "fullDescription",
        "languageCode",
        "shortDescription"
      ],
      "type": "object",
      "properties": {
        "fullDescription": {
          "type": "string",
          "description": "Text describing the terms in detail. The text can contain MarkDown"
        },
        "languageCode": {
          "type": "string",
          "description": "ISO-639-3 languageCode."
        },
        "shortDescription": {
          "type": "string",
          "description": "Short text explaining the terms. The text can contain MarkDown"
        }
      },
      "description": "Text for terms in a specific language. Short descriptions should contain enough information to obtain consents, with the long description containing detailed information. "
    },
    "InternalDescriptionRequest": {
      "required": [
        "languageCode"
      ],
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "description": "A description for the partner administrating consents. If the request is an update and this is set to null, the description for the language will be deleted"
        },
        "languageCode": {
          "type": "string",
          "description": "ISO-639-3 languageCode. 3 characters"
        }
      },
      "description": "Contains internal description for a consent. Will not be shown 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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/entur-consent-base-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.