> ## Documentation Index
> Fetch the complete documentation index at: https://maps.solvice.io/llms.txt
> Use this file to discover all available pages before exploring further.

# /table/sync

> Request a distance matrix synchronously. Returns the matrix response directly instead of creating an asynchronous job. Limited to 50x50 matrices.



## OpenAPI

````yaml POST /table/sync
openapi: 3.1.0
info:
  title: Solvice Maps Routing API
  description: >
    The Solvice Maps Routing API provides distance matrices, routes, and travel
    time calculations

    for logistics and route optimization applications. Supports multiple routing
    engines including

    OpenStreetMap and TomTom with time-dependent traffic data.
  version: 1.0.0
  contact:
    name: Solvice Support
    url: https://solvice.io
    email: support@solvice.io
servers:
  - url: https://routing.solvice.io
    description: Production server
security:
  - apikey: []
tags:
  - name: Tables
    description: Distance/duration matrix operations
  - name: Cubes
    description: Time-dependent 3D travel time matrices
  - name: Routes
    description: Point-to-point routing
  - name: Trips
    description: Traveling salesman / round-trip optimization
paths:
  /table/sync:
    post:
      tags:
        - Tables
      summary: Create table (sync)
      description: >-
        Request a distance matrix synchronously. Returns the matrix response
        directly instead of creating an asynchronous job. Limited to 50x50
        matrices.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTableDto'
        required: true
      responses:
        '200':
          description: Get table response directly.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableResponseDto'
        '400':
          description: Bad request - Invalid input parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Too many requests - Rate limit exceeded
          headers:
            X-RateLimit-Limit:
              description: The maximum number of requests allowed per time window
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: The number of requests remaining in the current time window
              schema:
                type: integer
            X-RateLimit-Reset:
              description: >-
                The time at which the current rate limit window resets in UTC
                epoch seconds
              schema:
                type: integer
            Retry-After:
              description: The number of seconds to wait before making another request
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Bad gateway - External service error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service unavailable - External service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '504':
          description: Gateway timeout - Request timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    CreateTableDto:
      description: Table Dto
      examples:
        - coordinates:
            - - 4.9
              - 50.2
            - - 4.8
              - 50.4
            - - 5
              - 50.9
            - - 5.05
              - 50.9
      type: object
      required:
        - coordinates
      properties:
        coordinates:
          type: array
          items:
            type: array
            items:
              type: number
              format: double
          description: >-
            The coordinates this request will use, coordinates as [{lon},{lat}]
            values, in decimal degrees.
          minItems: 2
        sources:
          type:
            - array
            - 'null'
          items:
            type: integer
            format: int32
          description: >-
            An array of index elements (0 <= integer < #coordinates) to use
            location with given index as source. Default is to use all.
        destinations:
          type:
            - array
            - 'null'
          items:
            type: integer
            format: int32
          description: >-
            An array of index elements (0 <= integer < #coordinates) to use
            location with given index as destination. Default is to use all.
        annotations:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            Return the requested table or tables in response. Can be
            ['duration'] (return the duration matrix, default) or ['duration',
            distance'] (return both the duration matrix and the distance
            matrix).
        vehicleType:
          description: The vehicle type for which the table is requested
          type:
            - string
            - 'null'
          anyOf:
            - $ref: '#/components/schemas/VehicleType'
            - type: 'null'
        engine:
          description: >-
            Routing data engine. Use `TOMTOM` with `departureTime` for
            predictive traffic, or `TOMTOM_REAL_TIME` for live traffic (sync
            endpoints only — `departureTime` is ignored).
          type:
            - string
            - 'null'
          anyOf:
            - $ref: '#/components/schemas/RoutingEngine'
            - type: 'null'
        departureTime:
          description: >-
            The departure time (ISO8601) for which you want to calculate the
            route. This will take into account predictive travel time based on
            TomTom data.
          type:
            - string
            - 'null'
          examples:
            - '2024-03-15T08:30:00.000Z'
          anyOf:
            - $ref: '#/components/schemas/LocalDateTime'
            - type: 'null'
        interpolate:
          type:
            - boolean
            - 'null'
          description: >-
            Enable linear interpolation between time slices for more accurate
            results based on departure time
        exclude:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/RoadTypeExclude'
          description: Exclude certain road types from routing
    TableResponseDto:
      description: Table Response
      examples:
        - destinations:
            - hint: >-
                eX5AgduYjYYsAAAAlAAAAHIAAAAAAAAAxBf6QX7HzELIz51CAAAAACwAAACUAAAAcgAAAAAAAAAVtwAAlMNKAIj__QKgxEoAwP39AgEAXwRPrDVe
              distance: 54.20808645369059
              name: Avenue de la Restauration
              location:
                - 4.899732
                - 50.200456
            - hint: >-
                o_v2gPMxk4KXAAAAQwAAAJsAAADWAwAA4YOXQ0HtBEOh05pDGnn1RJcAAABDAAAAmwAAANYDAAAVtwAAEyhJAG0BAQMAPkkAAAsBAwMAXxRPrDVe
              distance: 483.4921257061384
              name: Route des Trois Communes
              location:
                - 4.794387
                - 50.397549
            - hint: >-
                WvwMgrAseoRNAAAAAAAAALwAAAAAAAAAvYZVQgAAAAAK0AFDAAAAAE0AAAAAAAAAvAAAAAAAAAAVtwAAI1ZMAPmtCANAS0wAIKwIAwYAXw9PrDVe
              distance: 202.89814553989248
              name: Wittebos
              location:
                - 5.002787
                - 50.900473
            - hint: >-
                GtVBggTgEIkDAAAADwAAAMUAAAAAAAAAbWKjQHMstUHaEZlDAAAAAAMAAAAPAAAAxQAAAAAAAAAVtwAA-Q5NAN2rCAOQDk0AIKwIAwsAHw5PrDVe
              distance: 10.496399718824598
              name: Tiensestraat
              location:
                - 5.050105
                - 50.899933
          durations:
            - - 0
              - 1976.1
              - 5772.3
              - 5642.6
            - - 2010.2
              - 0
              - 4783.9
              - 4654.2
            - - 5817.2
              - 4797.4
              - 0
              - 508.6
            - - 5705.3
              - 4685.5
              - 530.2
              - 0
          sources:
            - hint: >-
                eX5AgduYjYYsAAAAlAAAAHIAAAAAAAAAxBf6QX7HzELIz51CAAAAACwAAACUAAAAcgAAAAAAAAAVtwAAlMNKAIj__QKgxEoAwP39AgEAXwRPrDVe
              distance: 54.20808645369059
              name: Avenue de la Restauration
              location:
                - 4.899732
                - 50.200456
            - hint: >-
                o_v2gPMxk4KXAAAAQwAAAJsAAADWAwAA4YOXQ0HtBEOh05pDGnn1RJcAAABDAAAAmwAAANYDAAAVtwAAEyhJAG0BAQMAPkkAAAsBAwMAXxRPrDVe
              distance: 483.4921257061384
              name: Route des Trois Communes
              location:
                - 4.794387
                - 50.397549
            - hint: >-
                WvwMgrAseoRNAAAAAAAAALwAAAAAAAAAvYZVQgAAAAAK0AFDAAAAAE0AAAAAAAAAvAAAAAAAAAAVtwAAI1ZMAPmtCANAS0wAIKwIAwYAXw9PrDVe
              distance: 202.89814553989248
              name: Wittebos
              location:
                - 5.002787
                - 50.900473
            - hint: >-
                GtVBggTgEIkDAAAADwAAAMUAAAAAAAAAbWKjQHMstUHaEZlDAAAAAAMAAAAPAAAAxQAAAAAAAAAVtwAA-Q5NAN2rCAOQDk0AIKwIAwsAHw5PrDVe
              distance: 10.496399718824598
              name: Tiensestraat
              location:
                - 5.050105
                - 50.899933
      type: object
      properties:
        tableId:
          type: integer
          format: int64
          description: Table response id. Not to be confused with table request id.
        durations:
          type:
            - array
            - 'null'
          items:
            type: array
            items:
              type: number
              format: double
          description: >-
            Time distance matrix. In order of sources to destinations indexes in
            request.
        distances:
          type:
            - array
            - 'null'
          items:
            type: array
            items:
              type: number
              format: double
          description: >-
            Distance matrix. In order of sources to destinations indexes in
            request.
        sources:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Waypoint'
          description: Actual sources snapped to map.
        destinations:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Waypoint'
          description: Actual destinations snapped to map.
    ErrorResponse:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
        message:
          type: string
        timestamp:
          type: integer
          format: int64
    VehicleType:
      type: string
      enum:
        - CAR
        - BIKE
        - TRUCK
        - ELECTRIC_CAR
        - ELECTRIC_BIKE
    RoutingEngine:
      type: string
      description: >
        Routing data engine used to calculate distances/durations.


        - `OSM`: Open Street Map, traffic-unaware (default).

        - `TOMTOM`: TomTom map data with predictive traffic patterns. Use with
        `departureTime` and optionally `interpolate`.

        - `TOMTOM_REAL_TIME`: TomTom map data with **real-time traffic**. The
        `departureTime` field is ignored — every request uses the current time.
        Available on `POST /route` and `POST /table/sync` only (not on async
        `/table` or `/route/batch`).

        - `GOOGLE`: Google routing data (contact sales).

        - `ANYMAP`: Solvice's proprietary engine with advanced traffic modeling.

        - `CUSTOM`: Bring-your-own engine via custom integration.
      enum:
        - OSM
        - TOMTOM
        - GOOGLE
        - ANYMAP
        - CUSTOM
        - TOMTOM_REAL_TIME
    LocalDateTime:
      type: string
      format: date-time
    RoadTypeExclude:
      type: string
      enum:
        - TOLL
        - MOTORWAY
        - FERRY
        - TUNNEL
        - BRIDGE
    Waypoint:
      type: object
      properties:
        hint:
          type:
            - string
            - 'null'
          description: >-
            Unique internal identifier of the segment (ephemeral, not constant
            over data updates) This can be used on subsequent request to
            significantly speed up the query and to connect multiple services.
        distance:
          type:
            - number
            - 'null'
          format: double
          description: The distance of the snapped point from the original
        name:
          type:
            - string
            - 'null'
          description: Name of the street the coordinate snapped to
        location:
          type:
            - array
            - 'null'
          items:
            type: number
            format: double
          description: >-
            Array that contains the [longitude, latitude] pair of the snapped
            coordinate
  securitySchemes:
    apikey:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API key authentication. Include your API key in the Authorization
        header.

````