swagger: '2.0' info: title: Automile ClientApi ResourceOwnerGeofence2 API version: v1 tags: - name: ResourceOwnerGeofence2 paths: /v1/resourceowner/geofence2: get: tags: - ResourceOwnerGeofence2 summary: Get a list of geofencese user is associated with description: Only geofences that the user has access to are accessible. operationId: GetResourceOwnerGeofences2 produces: - text/plain - application/json - text/json responses: '200': description: The geofences are returned schema: type: array items: $ref: '#/definitions/Geofence2Model' '500': description: Internal server error security: - oauth2: [] post: tags: - ResourceOwnerGeofence2 summary: Creates a new geofence description: This will create a new geofence and associate it with vehicles. operationId: CreateResourceOwnerGeofence2 consumes: - application/json - text/json - application/*+json produces: - text/plain - application/json - text/json parameters: - in: body name: body description: The geofence model schema: $ref: '#/definitions/Geofence2CreateModel' responses: '200': description: A link in the header is returned to the newly created geofence '400': description: Bad request, could occur for a number of cases, see returned message schema: $ref: '#/definitions/ProblemDetails' '403': description: Request is forbidden, could occur for a number of reasons, see returned message schema: $ref: '#/definitions/ProblemDetails' '500': description: Internal server error security: - oauth2: [] /v1/resourceowner/geofence2/{geofenceId}: get: tags: - ResourceOwnerGeofence2 summary: Get geofence description: Only geofences that the user has access to are accessible. operationId: GetResourceOwnerGeofence2 produces: - text/plain - application/json - text/json parameters: - in: path name: geofenceId description: The geofence id required: true type: integer format: int32 responses: '200': description: The geofences are returned schema: $ref: '#/definitions/Geofence2Model' '403': description: Request is forbidden, meaning you don't have access to this geofence '500': description: Internal server error security: - oauth2: [] put: tags: - ResourceOwnerGeofence2 summary: Updates the given geofence with new model description: This will update the given geofence id with a new model. operationId: EditResourceOwnerGeofence2 consumes: - application/json - text/json - application/*+json parameters: - in: path name: geofenceId description: The geofence id required: true type: integer format: int32 - in: body name: body description: The new geofence model schema: $ref: '#/definitions/Geofence2EditModel' responses: '200': description: The geofence was saved '500': description: Internal server error '400': description: Bad request, could occur for a number of cases, see returned message '403': description: Request is forbidden, could occur for a number of reasons, see returned message '404': description: Not found, the geofence you tried to update can't be found security: - oauth2: [] definitions: Geofence2EditModel: required: - Name - VehicleIds type: object properties: Name: minLength: 1 type: string Description: type: string VehicleIds: type: array items: format: int32 type: integer GeofencePolygon: $ref: '#/definitions/GeofencePolygon' GeofenceType: format: int32 enum: - 0 - 1 - 2 type: integer Schedules: type: array items: $ref: '#/definitions/GeofenceScheduleEditModel' additionalProperties: false GeographicPosition: type: object properties: Latitude: format: double type: number Longitude: format: double type: number additionalProperties: false Geofence2Model: type: object properties: GeofenceId: format: int32 type: integer Name: type: string Description: type: string GeofencePolygon: $ref: '#/definitions/GeofencePolygon' IsEditable: type: boolean GeofenceType: format: int32 enum: - 0 - 1 - 2 type: integer Schedules: type: array items: $ref: '#/definitions/GeofenceScheduleModel' VehicleIds: type: array items: format: int32 type: integer additionalProperties: false TimeSpan: type: object properties: Ticks: format: int64 type: integer Days: format: int32 type: integer readOnly: true Hours: format: int32 type: integer readOnly: true Milliseconds: format: int32 type: integer readOnly: true Microseconds: format: int32 type: integer readOnly: true Nanoseconds: format: int32 type: integer readOnly: true Minutes: format: int32 type: integer readOnly: true Seconds: format: int32 type: integer readOnly: true TotalDays: format: double type: number readOnly: true TotalHours: format: double type: number readOnly: true TotalMilliseconds: format: double type: number readOnly: true TotalMicroseconds: format: double type: number readOnly: true TotalNanoseconds: format: double type: number readOnly: true TotalMinutes: format: double type: number readOnly: true TotalSeconds: format: double type: number readOnly: true additionalProperties: false Geofence2CreateModel: required: - Name - VehicleIds type: object properties: Name: minLength: 1 type: string Description: type: string VehicleIds: type: array items: format: int32 type: integer GeofencePolygon: $ref: '#/definitions/GeofencePolygon' GeofenceType: format: int32 enum: - 0 - 1 - 2 type: integer Schedules: type: array items: $ref: '#/definitions/GeofenceScheduleAddModel' additionalProperties: false GeofenceScheduleAddModel: type: object properties: Monday: type: boolean Tuesday: type: boolean Wednesday: type: boolean Thursday: type: boolean Friday: type: boolean Saturday: type: boolean Sunday: type: boolean StartTime: $ref: '#/definitions/TimeSpan' EndTime: $ref: '#/definitions/TimeSpan' additionalProperties: false GeofenceScheduleModel: type: object properties: GeofenceScheduleId: format: int32 type: integer Monday: type: boolean Tuesday: type: boolean Wednesday: type: boolean Thursday: type: boolean Friday: type: boolean Saturday: type: boolean Sunday: type: boolean StartTime: $ref: '#/definitions/TimeSpan' EndTime: $ref: '#/definitions/TimeSpan' additionalProperties: false ProblemDetails: type: object properties: type: type: string title: type: string status: format: int32 type: integer detail: type: string instance: type: string additionalProperties: {} GeofenceScheduleEditModel: type: object properties: GeofenceScheduleId: format: int32 type: integer Monday: type: boolean Tuesday: type: boolean Wednesday: type: boolean Thursday: type: boolean Friday: type: boolean Saturday: type: boolean Sunday: type: boolean StartTime: $ref: '#/definitions/TimeSpan' EndTime: $ref: '#/definitions/TimeSpan' additionalProperties: false GeofencePolygon: type: object properties: Coordinates: type: array items: $ref: '#/definitions/GeographicPosition' additionalProperties: false securityDefinitions: oauth2: type: oauth2 flow: implicit authorizationUrl: https://api.automile.com/login/ scopes: read: Read access to protected resources write: Write access to protected resources description: OAuth2 Implicit Grant