> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://infonite.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://infonite.dev/_mcp/server.

# Driver

**Where it lives:** in the Spain Public Administration results, at `data.driver.data`. APIs with dedicated per-product results endpoints return this model directly.

The driving record answers "can this person drive, and how well": the licenses they hold, their
points balance, and how that balance has moved. A core signal for mobility, insurance and
fleet-related risk checks.

### Schema (`EUDriverDataSchema`)

```yaml
components:
  schemas:
    DrivingLicenseSchema:
      type: object
      properties:
        category:
          type: string
          description: Class of driving license.
        date:
          type: string
          format: date
          description: Granted date.
        expires:
          type: string
          format: date
          description: Expiry date.
      required:
        - category
        - date
      title: DrivingLicenseSchema
    IdentificationNumberSchemaType:
      type: string
      enum:
        - unknown
        - es:dni
        - es:nie
        - es:cif
        - es:ssn
        - co:cc
        - co:ce
        - co:nit
        - co:ti
      description: >-
        Kind of document the number belongs to (e.g. a national ID, passport,
        tax ID, or Social

        Security number).
      title: IdentificationNumberSchemaType
    IdentificationNumberSchema:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/IdentificationNumberSchemaType'
          description: >-
            Kind of document the number belongs to (e.g. a national ID,
            passport, tax ID, or Social

            Security number).
        value:
          type: string
          description: The number itself, as reported by the source.
        validated:
          type: boolean
          description: >-
            True when the value passed the platform's format and check-digit
            validation. It vouches for

            the NUMBER being well-formed — not for the official status of the
            document behind it.
        country:
          type: string
          format: country
          description: Country that issued the number, as a two-letter ISO code.
        valid_until:
          type: string
          format: date
          description: Expiry date of the document, when the source reports it.
      required:
        - type
        - value
        - validated
      description: >-
        One identification document: its type, its value, and whether the value
        passed validation.
      title: IdentificationNumberSchema
    PointMovementSchema:
      type: object
      properties:
        description:
          type: string
          description: Description of the movement.
        date:
          type: string
          format: date
          description: Date of firmness (legal date).
        effective_date:
          type: string
          format: date
          description: Effective date of the movement.
        points_delta:
          type: integer
          description: Points added or subtracted (signed integer).
        balance_after:
          type: integer
          description: Balance after the movement.
        infraction_reference:
          type: string
          description: Reference number of the infraction.
        infraction_date:
          type: string
          format: date
          description: Date of the infraction.
        authority_name:
          type: string
          description: Name of the authority.
        authority_code:
          type: string
          description: Code of the authority.
      required:
        - description
        - date
        - points_delta
        - balance_after
      title: PointMovementSchema
    EUDriverDataSchema:
      type: object
      properties:
        product:
          type: string
          enum:
            - driver_data
        sub_family:
          type: string
          enum:
            - driver_data:eu_driver_data
        fetch_date:
          type: string
          format: datetime
          description: Date this product was fetched
        country:
          type: string
          format: country
          description: Country that expired the license.
        licences:
          type: array
          items:
            $ref: '#/components/schemas/DrivingLicenseSchema'
          description: List of driving licenses.
        point_balance:
          type: integer
          description: Balance of the driver in points.
        name:
          type: string
          description: First name of the driver
        name_extra:
          type: string
          description: Last name of the driver.
        identifier:
          $ref: '#/components/schemas/IdentificationNumberSchema'
          description: NIF of the driver.
        dangerous_goods_authorized:
          type: boolean
          description: Whether the driver is authorized to transport dangerous goods.
        school_transport_authorized:
          type: boolean
          description: Whether the driver is authorized to transport school goods.
        address:
          type: string
          description: Address of the driver.
        point_movements:
          type: array
          items:
            $ref: '#/components/schemas/PointMovementSchema'
          description: List of movements. If not present means the data was not consulted.
      required:
        - product
        - sub_family
        - fetch_date
        - country
        - licences
      title: EUDriverDataSchema
```

## Licenses

Each license the person holds:

### Schema (`DrivingLicenseSchema`)

```yaml
components:
  schemas:
    DrivingLicenseSchema:
      type: object
      properties:
        category:
          type: string
          description: Class of driving license.
        date:
          type: string
          format: date
          description: Granted date.
        expires:
          type: string
          format: date
          description: Expiry date.
      required:
        - category
        - date
      title: DrivingLicenseSchema
```

## Point movements

Each change in the points balance, most recent first:

### Schema (`PointMovementSchema`)

```yaml
components:
  schemas:
    PointMovementSchema:
      type: object
      properties:
        description:
          type: string
          description: Description of the movement.
        date:
          type: string
          format: date
          description: Date of firmness (legal date).
        effective_date:
          type: string
          format: date
          description: Effective date of the movement.
        points_delta:
          type: integer
          description: Points added or subtracted (signed integer).
        balance_after:
          type: integer
          description: Balance after the movement.
        infraction_reference:
          type: string
          description: Reference number of the infraction.
        infraction_date:
          type: string
          format: date
          description: Date of the infraction.
        authority_name:
          type: string
          description: Name of the authority.
        authority_code:
          type: string
          description: Code of the authority.
      required:
        - description
        - date
        - points_delta
        - balance_after
      title: PointMovementSchema
```