{"openapi":"3.1.0","info":{"title":"Apizie","version":"2.0.0","description":"One API key, one envelope, many public data sources."},"servers":[{"url":"https://zieapi.vercel.app"}],"security":[{"ApiKeyAuth":[]}],"paths":{"/v1/places:enode/get-chargers":{"get":{"operationId":"places_enode_get_chargers","summary":"List Chargers","description":"GET /chargers","tags":["places"],"parameters":[{"name":"field[]","in":"query","required":false,"description":"An optional array of Charger fields that should be included in the response, for example: `?field[]=information&field[]=chargeState` By…","schema":{"type":"array","description":"An optional array of Charger fields that should be included in the response, for example: `?field[]=information&field[]=chargeState` By…"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/get-charger":{"get":{"operationId":"places_enode_get_charger","summary":"Get Charger","description":"GET /chargers/{chargerId}","tags":["places"],"parameters":[{"name":"chargerId","in":"query","required":true,"description":"ID of the Charger","schema":{"type":"string","description":"ID of the Charger"}},{"name":"field[]","in":"query","required":false,"description":"An optional array of Charger fields that should be included in the response, for example: `?field[]=information&field[]=chargeState` By…","schema":{"type":"array","description":"An optional array of Charger fields that should be included in the response, for example: `?field[]=information&field[]=chargeState` By…"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/control-charger-charging":{"post":{"operationId":"places_enode_control_charger_charging","summary":"Control Charging","description":"POST /chargers/{chargerId}/charging","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["chargerId"],"properties":{"chargerId":{"type":"string","description":"ID of the Charger"},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/get-charginglocations":{"get":{"operationId":"places_enode_get_charginglocations","summary":"List Charging Locations","description":"GET /charging-locations","tags":["places"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/post-charginglocations":{"post":{"operationId":"places_enode_post_charginglocations","summary":"Create Charging Location","description":"POST /charging-locations","tags":["places"],"parameters":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/get-charginglocations-charginglocationid":{"get":{"operationId":"places_enode_get_charginglocations_charginglocationid","summary":"Get Charging Location","description":"GET /charging-locations/{chargingLocationId}","tags":["places"],"parameters":[{"name":"chargingLocationId","in":"query","required":true,"description":"ID of the Charging Location","schema":{"type":"string","description":"ID of the Charging Location"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/put-charginglocations-charginglocationid":{"post":{"operationId":"places_enode_put_charginglocations_charginglocationid","summary":"Update Charging Location","description":"PUT /charging-locations/{chargingLocationId}","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["chargingLocationId"],"properties":{"chargingLocationId":{"type":"string","description":"ID of the Charging Location"},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/delete-charginglocations-charginglocationid":{"post":{"operationId":"places_enode_delete_charginglocations_charginglocationid","summary":"Delete Charging Location","description":"DELETE /charging-locations/{chargingLocationId}","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["chargingLocationId"],"properties":{"chargingLocationId":{"type":"string","description":"ID of the Charging Location"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/get-health-ready":{"get":{"operationId":"places_enode_get_health_ready","summary":"Check Service Readiness","description":"GET /health/ready","tags":["places"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/get-health-vendors":{"get":{"operationId":"places_enode_get_health_vendors","summary":"Check Available Vendors","description":"GET /health/vendors","tags":["places"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/get-me":{"get":{"operationId":"places_enode_get_me","summary":"Get My User","description":"GET /me","tags":["places"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/disconnect-vendor":{"post":{"operationId":"places_enode_disconnect_vendor","summary":"Disconnect Vendor","description":"DELETE /me/vendors/{vendor}","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["vendor"],"properties":{"vendor":{"type":"string","enum":["TESLA","BMW","AUDI","VOLKSWAGEN","HYUNDAI","PEUGEOT","NISSAN"],"description":"Vendor to be unlinked"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/get-statistics-charging":{"get":{"operationId":"places_enode_get_statistics_charging","summary":"Get User Charging Statistics","description":"GET /statistics/charging","tags":["places"],"parameters":[{"name":"resolution","in":"query","required":false,"description":"The unit of time the data will be cut into before aggregate statistics are applied. For instance if you choose DAY, then each item in the…","schema":{"type":"string","enum":["HOUR","DAY","WEEK","MONTH","YEAR"],"default":"DAY","description":"The unit of time the data will be cut into before aggregate statistics are applied. For instance if you choose DAY, then each item in the…"}},{"name":"startDate","in":"query","required":true,"description":"Earliest date to include in the response","schema":{"type":"string","description":"Earliest date to include in the response"}},{"name":"endDate","in":"query","required":false,"description":"Latest date to include in the response (defaults to current date/time)","schema":{"type":"string","description":"Latest date to include in the response (defaults to current date/time)"}},{"name":"vehicleId","in":"query","required":false,"description":"Filter statistics to only include this vehicle","schema":{"type":"string","description":"Filter statistics to only include this vehicle"}},{"name":"chargingLocationId","in":"query","required":false,"description":"Filter statistics to only include this charging location","schema":{"type":"string","description":"Filter statistics to only include this charging location"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/delete-users-userid":{"post":{"operationId":"places_enode_delete_users_userid","summary":"Unlink User","description":"DELETE /users/{userId}","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["userId"],"properties":{"userId":{"type":"string","description":"ID of the User"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/delete-users-userid-authorization":{"post":{"operationId":"places_enode_delete_users_userid_authorization","summary":"Deauthorize User","description":"DELETE /users/{userId}/authorization","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["userId"],"properties":{"userId":{"type":"string","description":"ID of the User"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/post-users-userid-link":{"post":{"operationId":"places_enode_post_users_userid_link","summary":"Link User","description":"POST /users/{userId}/link","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["userId"],"properties":{"userId":{"type":"string","description":"ID of the User"},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/get-vehicles":{"get":{"operationId":"places_enode_get_vehicles","summary":"List Vehicles","description":"GET /vehicles","tags":["places"],"parameters":[{"name":"field[]","in":"query","required":false,"description":"An optional array of Vehicle fields that should be included in the response, for example: `?field[]=information&field[]=location` By…","schema":{"type":"array","description":"An optional array of Vehicle fields that should be included in the response, for example: `?field[]=information&field[]=location` By…"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/get-vehicles-vehicleid":{"get":{"operationId":"places_enode_get_vehicles_vehicleid","summary":"Get Vehicle","description":"GET /vehicles/{vehicleId}","tags":["places"],"parameters":[{"name":"vehicleId","in":"query","required":true,"description":"ID of the Vehicle","schema":{"type":"string","description":"ID of the Vehicle"}},{"name":"field[]","in":"query","required":false,"description":"An optional array of Vehicle fields that should be included in the response, for example: `?field[]=information&field[]=location` By…","schema":{"type":"array","description":"An optional array of Vehicle fields that should be included in the response, for example: `?field[]=information&field[]=location` By…"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/get-vehicle-chargestate":{"get":{"operationId":"places_enode_get_vehicle_chargestate","summary":"Get Vehicle Charge State","description":"GET /vehicles/{vehicleId}/charge-state","tags":["places"],"parameters":[{"name":"vehicleId","in":"query","required":true,"description":"Path parameter {vehicleId}","schema":{"type":"string","description":"Path parameter {vehicleId}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/post-vehicles-vehicleid-charging":{"post":{"operationId":"places_enode_post_vehicles_vehicleid_charging","summary":"Start / Stop Charging","description":"POST /vehicles/{vehicleId}/charging","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["vehicleId"],"properties":{"vehicleId":{"type":"string","description":"Path parameter {vehicleId}"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/get-vehicles-vehicleid-information":{"get":{"operationId":"places_enode_get_vehicles_vehicleid_information","summary":"Get Vehicle Information","description":"GET /vehicles/{vehicleId}/information","tags":["places"],"parameters":[{"name":"vehicleId","in":"query","required":true,"description":"Path parameter {vehicleId}","schema":{"type":"string","description":"Path parameter {vehicleId}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/get-vehicles-vehicleid-location":{"get":{"operationId":"places_enode_get_vehicles_vehicleid_location","summary":"Get Vehicle Location","description":"GET /vehicles/{vehicleId}/location","tags":["places"],"parameters":[{"name":"vehicleId","in":"query","required":true,"description":"Path parameter {vehicleId}","schema":{"type":"string","description":"Path parameter {vehicleId}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/get-vehicles-vehicleid-odometer":{"get":{"operationId":"places_enode_get_vehicles_vehicleid_odometer","summary":"Get Vehicle Odometer","description":"GET /vehicles/{vehicleId}/odometer","tags":["places"],"parameters":[{"name":"vehicleId","in":"query","required":true,"description":"Path parameter {vehicleId}","schema":{"type":"string","description":"Path parameter {vehicleId}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/get-vehicles-vehicleid-smartchargingpolicy":{"get":{"operationId":"places_enode_get_vehicles_vehicleid_smartchargingpolicy","summary":"Get Vehicle Smart Charging Policy","description":"GET /vehicles/{vehicleId}/smart-charging-policy","tags":["places"],"parameters":[{"name":"vehicleId","in":"query","required":true,"description":"Path parameter {vehicleId}","schema":{"type":"string","description":"Path parameter {vehicleId}"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":60,"x-apizie-min-plan":null,"x-apizie-bulk":true,"x-apizie-status":"byok"}},"/v1/places:enode/put-vehicles-vehicleid-smartchargingpolicy":{"post":{"operationId":"places_enode_put_vehicles_vehicleid_smartchargingpolicy","summary":"Update Vehicle Smart Charging Policy","description":"PUT /vehicles/{vehicleId}/smart-charging-policy","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["vehicleId"],"properties":{"vehicleId":{"type":"string","description":"ID of the Vehicle"},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/post-vehicles-vehicleid-watch":{"post":{"operationId":"places_enode_post_vehicles_vehicleid_watch","summary":"Start Watching Vehicle","description":"POST /vehicles/{vehicleId}/watch","tags":["places"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["vehicleId"],"properties":{"vehicleId":{"type":"string","description":"ID of the Vehicle"},"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/put-webhooks-firehose":{"post":{"operationId":"places_enode_put_webhooks_firehose","summary":"Update Firehose Webhook","description":"PUT /webhooks/firehose","tags":["places"],"parameters":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"body":{"type":"object","description":"JSON request body"}}}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}},"/v1/places:enode/post-webhooks-firehose-test":{"post":{"operationId":"places_enode_post_webhooks_firehose_test","summary":"Test Firehose Webhook","description":"POST /webhooks/firehose/test","tags":["places"],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEnvelope"}}}},"4XX":{"$ref":"#/components/responses/Error"},"5XX":{"$ref":"#/components/responses/Error"}},"x-apizie-cache-ttl":0,"x-apizie-min-plan":null,"x-apizie-bulk":false,"x-apizie-status":"byok"}}},"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"RunEnvelope":{"type":"object","required":["project","data","timestamp"],"properties":{"project":{"type":"string","example":"dev-tools:hash"},"data":{},"timestamp":{"type":"string","format":"date-time"}}},"ErrorEnvelope":{"type":"object","properties":{"content":{},"message":{"type":"string"},"errors":{"type":"array","items":{}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}},"responses":{"Error":{"description":"Invalid key, plan gate, rate limit or upstream failure","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}}