Federal Highway Administration Configuration Rest Controller API
The configuration-rest-controller API from Federal Highway Administration — 3 operation(s) for configuration-rest-controller.
The configuration-rest-controller API from Federal Highway Administration — 3 operation(s) for configuration-rest-controller.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/federal-highway-administration-configuration-rest-controller-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: V2X App Configuration Rest Controller API
description: API for Vehicle-to-Everything (V2X) Multi-Access Edge Computing (MEC) services. This App API provides endpoints for ETX registration, V2X Message Deposit, and authentication services.
version: 1.0.0
servers:
- url: http://localhost:8080
description: Generated server url
security:
- BearerAuth: []
tags:
- name: configuration-rest-controller
paths:
/prd/v2/configurations/geofence:
get:
tags:
- configuration-rest-controller
summary: Get geofence by ID
description: Retrieves detailed information for a specific geofence by its ID. This endpoint returns the complete geofence configuration including geometry, properties, and metadata.
operationId: getGeofence
parameters:
- name: id
in: query
description: Unique identifier of the geofence
required: true
schema:
type: string
example: geofence-001
responses:
'200':
description: Geofence details retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationGeofenceResponse'
'400':
description: Bad request - invalid geofence ID
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized - invalid or missing authentication
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'404':
description: Not found - geofence not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- BearerAuth: []
put:
tags:
- configuration-rest-controller
summary: Update existing geofence
description: Updates an existing geofence with new configuration. All fields in the request will replace the existing geofence configuration.
operationId: updateGeofence
parameters:
- name: id
in: query
description: Unique identifier of the geofence to update
required: true
schema:
type: string
example: geofence-001
requestBody:
description: Updated geofence configuration
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationGeofence'
required: true
responses:
'200':
description: Geofence updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationGeofenceResponse'
'400':
description: Bad request - invalid geofence configuration
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized - invalid or missing authentication
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'404':
description: Not found - geofence not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- BearerAuth: []
post:
tags:
- configuration-rest-controller
summary: Create new geofence
description: Creates a new geofence with the specified configuration. The geofence can be used for V2X traffic management and safety applications.
operationId: createGeofence
requestBody:
description: Geofence configuration to create
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationGeofence'
required: true
responses:
'200':
description: Geofence created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationGeofenceResponse'
'400':
description: Bad request - invalid geofence configuration
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized - invalid or missing authentication
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- BearerAuth: []
delete:
tags:
- configuration-rest-controller
summary: Delete geofence
description: Deletes a geofence from the system. This operation is irreversible and will remove all associated configuration and data.
operationId: deleteGeofence
parameters:
- name: id
in: query
description: Unique identifier of the geofence to delete
required: true
schema:
type: string
example: geofence-001
responses:
'200':
description: Geofence deleted successfully
'400':
description: Bad request - invalid geofence ID
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized - invalid or missing authentication
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'404':
description: Not found - geofence not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- BearerAuth: []
/prd/v2/configurations/clear:
post:
tags:
- configuration-rest-controller
summary: Clear multiple geofences
description: Clears deployed geofences from the ETX. If set to only TIM messages it will clear all inactive TIMs.This operation can be used to remove multiple geofences at once.
operationId: clearGeofences
requestBody:
description: Criteria for clearing geofences
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationClearGeofence'
required: true
responses:
'200':
description: Geofences cleared successfully
content:
application/json:
schema:
type: array
items:
type: string
'400':
description: Bad request - invalid clear criteria
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized - invalid or missing authentication
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- BearerAuth: []
/prd/v2/configurations/geofence/ids:
get:
tags:
- configuration-rest-controller
summary: Get all geofence IDs
description: Retrieves a list of all available geofence IDs in the ETX. This endpoint returns summary information for all configured geofences in the ETX without the full geofence details.
operationId: getGeofences
responses:
'200':
description: List of geofence summaries retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationGeofenceSummary'
'401':
description: Unauthorized - invalid or missing authentication
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- BearerAuth: []
components:
schemas:
MultiPolygon:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
properties:
coordinates:
type: array
items:
type: array
items:
type: array
items:
type: array
items:
type: number
format: double
ErrorResponse:
type: object
properties:
error:
type: string
description:
type: string
LimitItem:
type: object
properties:
min:
type: number
format: double
max:
type: number
format: double
Polygon:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
properties:
coordinates:
type: array
items:
type: array
items:
type: array
items:
type: number
format: double
ConfigurationGeofenceSummary:
type: object
properties:
id:
type: string
name:
type: string
description:
type: string
isActive:
type: boolean
MultiLineString:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
properties:
coordinates:
type: array
items:
type: array
items:
type: array
items:
type: number
format: double
GeofenceFeature:
type: object
description: GeoJSON Feature representing a single geometric element within a geofence
properties:
type:
type: string
description: GeoJSON type, must be 'Feature'
example: Feature
geometry:
description: GeoJSON geometry object defining the spatial extent
oneOf:
- $ref: '#/components/schemas/LineString'
- $ref: '#/components/schemas/MultiLineString'
- $ref: '#/components/schemas/MultiPolygon'
- $ref: '#/components/schemas/Polygon'
properties:
additionalProperties: false
description: 'Properties object is required and must be an empty object. No content is allowed in the properties object. Must be an empty JSON object: {}. Any properties within this object will cause validation to fail. This field enforces that the properties object contains no key-value pairs.'
example: {}
required:
- properties
GeofenceFeatureCollection:
type: object
description: GeoJSON FeatureCollection representing a geofence area
properties:
type:
type: string
description: GeoJSON type, must be 'FeatureCollection'
example: FeatureCollection
features:
type: array
description: Array of GeoJSON features defining the geofence geometry
items:
$ref: '#/components/schemas/GeofenceFeature'
Message:
type: object
properties:
roadUserType:
type: array
items:
type: string
enum:
- VulnerableRoadUser
- Vehicle
triggerConditions:
type: array
items:
type: string
enum:
- enter
- leave
- inside
- crossing
limits:
type: array
items:
oneOf:
- $ref: '#/components/schemas/LimitHeadingItem'
- $ref: '#/components/schemas/LimitSpeedItem'
distributionType:
type: array
items:
type: string
enum:
- Targeted
- Broadcast
distributionSchedule:
$ref: '#/components/schemas/DistributionSchedule'
isPrivate:
type: boolean
DistributionSchedule:
type: object
properties:
repeatPeriod:
type: integer
format: int32
duration:
type: integer
format: int32
startTime:
type: string
ConfigurationClearGeofence:
type: object
properties:
clear_tim_only:
type: boolean
ConfigurationGeofenceResponse:
type: object
properties:
name:
type: string
description:
type: string
geoFence:
$ref: '#/components/schemas/GeofenceFeatureCollection'
messageStandard:
type: string
enum:
- etsi
- sae
messages:
type: array
items:
$ref: '#/components/schemas/Message'
isActive:
type: boolean
id:
type: string
vendorId:
type: string
LineString:
allOf:
- $ref: '#/components/schemas/Geometry'
- type: object
properties:
coordinates:
type: array
items:
type: array
items:
type: number
format: double
LimitHeadingItem:
allOf:
- $ref: '#/components/schemas/Limit'
- type: object
properties:
description:
type: string
heading:
$ref: '#/components/schemas/LimitItem'
LimitSpeedItem:
allOf:
- $ref: '#/components/schemas/Limit'
- type: object
properties:
description:
type: string
speed:
$ref: '#/components/schemas/LimitItem'
Geometry:
discriminator:
propertyName: type
properties:
type:
type: string
required:
- type
ConfigurationGeofence:
type: object
properties:
name:
type: string
description:
type: string
geoFence:
$ref: '#/components/schemas/GeofenceFeatureCollection'
messageStandard:
type: string
enum:
- etsi
- sae
messages:
type: array
items:
$ref: '#/components/schemas/Message'
isActive:
type: boolean
Limit: {}
securitySchemes:
BearerAuth:
type: http
description: Keycloak JWT Bearer Token. Required for all endpoints except decode endpoints. Obtain a token from the /auth/token endpoint using your credentials.
scheme: bearer
bearerFormat: JWT