Build with municipal.systems

Explore, query, analyze, and submit data for governments around the world using our robust API.

Get Started

Response Format

 

Singular Responses

Singular responses are a single item, like Crime #123 or User #567.

Example

{
  "id": "jers-nj",
  "displayName": "Jersey City",
  "name": "Jersey City, NJ",
  "image": "https://img.stae.co/example.png",
  "createdAt": "2016-09-13T19:43:39.620Z",
  "updatedAt": "2016-09-13T19:43:39.620Z",
  "boundaryId": "USA-3436000"
}

Collection Responses

Collection responses are a set of multiple items. These responses have two guaranteed attributes: meta and results.

meta

The meta attribute is an object that contains metadata about the results data. This can include pagination information, api limits, query information, data types, display hints, and other useful information about the data. This object will always contain results and total counts to help with pagination.

results

The results attribute is an array of objects representing the data you requested from the API.

Example

{
  "results": [
    {
      "id": "jers-nj",
      "displayName": "Jersey City",
      "name": "Jersey City, NJ",
      "image": "https://img.stae.co/example.png",
      "createdAt": "2016-09-13T19:43:39.620Z",
      "updatedAt": "2016-09-13T19:43:39.620Z",
      "boundaryId": "USA-3436000"
    },
    {
      "id": "nyc-ny",
      "displayName": "New York",
      "name": "New York, NY",
      "image": "https://img.stae.co/example.png",
      "createdAt": "2016-09-13T19:43:39.620Z",
      "updatedAt": "2016-09-13T19:43:39.620Z",
      "boundaryId": "USA-3651000"
    },
    {
      "id": "chi-il",
      "displayName": "Chicago",
      "name": "Chicago, IL",
      "image": "https://img.stae.co/example.png",
      "createdAt": "2016-09-13T19:43:39.620Z",
      "updatedAt": "2016-09-13T19:43:39.620Z",
      "boundaryId": "USA-1714000"
    },
    {
      "id": "sf-ca",
      "displayName": "San Francisco",
      "name": "San Francisco, CA",
      "image": "https://img.stae.co/example.png",
      "createdAt": "2016-09-13T19:43:39.620Z",
      "updatedAt": "2016-09-13T19:43:39.620Z",
      "boundaryId": "USA-0667000"
    }
  ],
  "meta": {
    "results": 4,
    "total": 4
  }
}

Data Format

 

Coordinate System

All coordinates are assumed to be WSG84. Geographic objects are represented as GeoJSON.

We typically use Points, MultiPolygons, and LineStrings to represent location data.

Reminder: GeoJSON positions are [ longitude, latitude, elevation ] (you can learn more about that here).

Example

{
  "type": "Point",
  "coordinates": [ 125.6, 10.1 ]
}

Time Format

All timestamps are represented as ISO-8601 strings.

The ISO-8601 format is YYYY-MM-DDTHH:mm:ss.sssZ, so September 14th, 2016 at 6:05:30PM is represented as 2016-09-14T22:05:30.161Z

Measurements

All measurements are stored using the metric system for maximum accuracy and accessibility. If your data source is using non-metric measurements you'll need to convert it to your measurement system of choice.

Missing Fields

Empty fields are included as null instead of being omitted from the response. While this may increase bandwidth slightly, it provides more context and information about the data available.

Pricing

 
Requests Per Month
Pricing

Up to 10K

Free with API Key

More than 10K

Paid

Contact for more info!

Boundary Properties

 
Field
Type
Description

id

String

Unique ID

name

String

Name of the boundary (state name, city name, zip code #, etc.)

type

String

Type of boundary (country, state, county, city, zip, neighborhood, etc.)

official

Boolean

Is this boundary an official government representation?

area

GeoJSON MultiPolygon

Shape of the boundary

createdAt

Date

Date and time when the boundary was added to our system

updatedAt

Date

Date and time when the boundary was last modified in our system

Search Boundaries

 
gethttps://municipal.systems/v1/boundaries
import request from 'superagent'

request
  .get('https://municipal.systems/v1/boundaries')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [
    {
      "id": "USA-7839700",
      "name": "Frederiksted Southeast",
      "type": "place",
      "official": true,
      "area": {
        "type": "MultiPolygon",
        "coordinates": [
          // really long coordinates array here!
        ]
      },
      "createdAt": "2016-08-23T17:52:17.755Z",
      "updatedAt": "2016-08-23T17:52:17.755Z"
    },
    {
      "id": "USA-7865530",
      "name": "Red Hook",
      "type": "place",
      "official": true,
      "area": {
        "type": "MultiPolygon",
        "coordinates": [
          // really long coordinates array here!
        ]
      },
      "createdAt": "2016-08-23T17:52:17.755Z",
      "updatedAt": "2016-08-23T17:52:17.755Z"
    },
    {
      "id": "USA-7837900",
      "name": "Frederiksted",
      "type": "place",
      "official": true,
      "area": {
        "type": "MultiPolygon",
        "coordinates": [
          // really long coordinates array here!
        ]
      },
      "createdAt": "2016-08-23T17:52:17.755Z",
      "updatedAt": "2016-08-23T17:52:17.755Z"
    },
    {
      "id": "USA-7878300",
      "name": "Tutu",
      "type": "place",
      "official": true,
      "area": {
        "type": "MultiPolygon",
        "coordinates": [
          // really long coordinates array here!
        ]
      },
      "createdAt": "2016-08-23T17:52:17.755Z",
      "updatedAt": "2016-08-23T17:52:17.755Z"
    },
    {
      "id": "USA-7818100",
      "name": "Charlotte Amalie East",
      "type": "place",
      "official": true,
      "area": {
        "type": "MultiPolygon",
        "coordinates": [
          // really long coordinates array here!
        ]
      },
      "createdAt": "2016-08-23T17:52:17.745Z",
      "updatedAt": "2016-08-23T17:52:17.745Z"
    }
  ],
  "meta": {
    "results": 5,
    "total": 29910
  }
}
 

Boundary Lookup

 
gethttps://municipal.systems/v1/boundaries/boundaryId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/boundaries/USA-7865530')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "USA-7865530",
  "name": "Red Hook",
  "type": "place",
  "official": true,
  "area": {
    "type": "MultiPolygon",
    "coordinates": [
      // big list of coordinates here!
    ]
  },
  "createdAt": "2016-08-23T17:52:17.755Z",
  "updatedAt": "2016-08-23T17:52:17.755Z"
}

Path Params

boundaryId
string
required

Unique ID for the boundary

 

Municipality Properties

 
Field
Type
Description

id

String

Unique ID

name

String

Full legal name for the municipality

displayName

String

Short display name for the municipality

theme

Object

Custom theme metadata for the municipality (logo, image, colors, etc.)

boundaryId

String

Reference to the Boundary for this city, representing it's geographic bounds

createdAt

Date

Date and time when the municipality was added to our system

updatedAt

Date

Date and time when the municipality was last modified in our system

Search Municipalities

 
gethttps://municipal.systems/v1/municipalities
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [
    {
      "id": "jers-nj",
      "displayName": "Jersey City",
      "name": "Jersey City, NJ",
      "image": "https://example.com/photo.png",
      "createdAt": "2016-08-23T19:26:25.713Z",
      "updatedAt": "2016-08-23T19:26:25.713Z",
      "boundaryId": "USA-3436000"
    },
    {
      "id": "sf-ca",
      "displayName": "San Francisco",
      "name": "San Francisco, CA",
      "image": "https://example.com/photo.png",
      "createdAt": "2016-08-23T19:26:25.713Z",
      "updatedAt": "2016-08-23T19:26:25.713Z",
      "boundaryId": "USA-0667000"
    },
    {
      "id": "nyc-ny",
      "displayName": "New York",
      "name": "New York, NY",
      "image": "https://example.com/photo.png",
      "createdAt": "2016-08-23T19:26:25.713Z",
      "updatedAt": "2016-08-23T19:26:25.713Z",
      "boundaryId": "USA-3651000"
    },
    {
      "id": "chi-il",
      "displayName": "Chicago",
      "name": "Chicago, IL",
      "image": "https://example.com/photo.png",
      "createdAt": "2016-08-23T19:26:25.713Z",
      "updatedAt": "2016-08-23T19:26:25.713Z",
      "boundaryId": "USA-1714000"
    }
  ],
  "meta": {
    "results": 4,
    "total": 4
  }
}

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array

Order the results. Direction can be asc or desc.

filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Municipality Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "jers-nj",
  "displayName": "Jersey City",
  "name": "Jersey City, NJ",
  "image": "http://example.com/image.png",
  "createdAt": "2016-08-23T19:26:25.713Z",
  "updatedAt": "2016-08-23T19:26:25.713Z",
  "boundaryId": "USA-3436000"
}

Path Params

municipalityId
string
required

Unique ID for the municipality

 

Search Data Types

 
gethttps://municipal.systems/v1/schemata
import request from 'superagent'

request
  .get('https://municipal.systems/v1/schemata')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [
    {
      "id": "bike-lane",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Bike Lane",
      "notes": "Official specification for bike lane data.",
      "fields": {
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "directions": {
          "name": "Directions",
          "type": "array",
          "validation": {
            "minItems": 1,
            "unique": true
          },
          "items": {
            "name": "Direction",
            "type": "text",
            "validation": {
              "required": true,
              "enum": [
                "north",
                "south",
                "east",
                "west",
                "northeast",
                "southeast",
                "northwest",
                "southwest"
              ]
            }
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "path": {
          "name": "Path",
          "type": "line",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "government-property",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Government Property",
      "notes": "Official specification for Government Properties",
      "fields": {
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "value": {
          "name": "Value",
          "type": "number",
          "validation": {
            "min": 0
          }
        },
        "operators": {
          "name": "Operators",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "type": "text",
            "name": "Operator",
            "validation": {
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "sheedy",
      "userId": "c255d439-97ff-455b-9c8d-37e2f61fd199",
      "createdAt": "2017-10-19T14:37:33.000Z",
      "updatedAt": "2017-10-19T14:37:33.000Z",
      "official": false,
      "name": "Sheedy",
      "notes": "Test note",
      "fields": {
        "Myfield": {
          "name": "My field",
          "validate": {},
          "type": "any"
        }
      }
    },
    {
      "id": "test3",
      "userId": "d5fdd61f-1923-4153-9266-9f985e69cb93",
      "createdAt": "2017-11-11T01:51:08.000Z",
      "updatedAt": "2017-11-11T01:51:08.000Z",
      "official": false,
      "name": "test3",
      "notes": "test3",
      "fields": {
        "test3": {
          "name": "test3",
          "validate": {},
          "type": "object"
        }
      }
    },
    {
      "id": "business",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Businesses",
      "notes": "Official specification for businesses",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "endedAt": {
          "name": "Ended",
          "type": "date"
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "phone": {
          "name": "Phone Number",
          "type": "text",
          "validation": {
            "phone": true
          }
        },
        "email": {
          "name": "Email",
          "type": "text",
          "validation": {
            "email": true
          }
        },
        "url": {
          "name": "URL",
          "type": "text",
          "validation": {
            "url": true
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "test-type",
      "userId": "c255d439-97ff-455b-9c8d-37e2f61fd199",
      "createdAt": "2017-10-26T14:56:06.000Z",
      "updatedAt": "2017-10-26T14:56:06.000Z",
      "official": false,
      "name": "test type",
      "notes": "test notes",
      "fields": {
        "Field1": {
          "name": "Field 1",
          "validate": {
            "required": true,
            "minLongitude": 2
          },
          "type": "point"
        }
      }
    },
    {
      "id": "mural",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Mural",
      "notes": "Official specification for Murals",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "completedAt": {
          "name": "Completed",
          "type": "date"
        },
        "artists": {
          "type": "array",
          "name": "Artists",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Artist",
            "type": "text",
            "required": true,
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "issue",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Issue",
      "notes": "Official specification for Issues",
      "fields": {
        "receivedAt": {
          "name": "Received",
          "type": "date"
        },
        "recognizedAt": {
          "name": "Recognized",
          "type": "date"
        },
        "closedAt": {
          "name": "Closed",
          "type": "date"
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "status": {
          "name": "Status",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "reporter": {
          "name": "Reporter",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "assignee": {
          "name": "Assignee",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "event",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Event",
      "notes": "Official specification for Events",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "endedAt": {
          "name": "Ended",
          "type": "date"
        },
        "appliedAt": {
          "name": "Applied",
          "type": "date"
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "attendance": {
          "name": "Attendance",
          "type": "number",
          "validation": {
            "min": 0
          }
        },
        "status": {
          "name": "Status",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "neighborhood",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Neighborhood",
      "notes": "Official specification for Neighborhoods",
      "fields": {
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "area": {
          "name": "Area",
          "type": "multipolygon",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "street-closure",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Street Closure",
      "notes": "Official specification for Street Closures.",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "endedAt": {
          "name": "Ended",
          "type": "date"
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "effects": {
          "type": "array",
          "name": "Effects",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Effect",
            "type": "text",
            "validation": {
              "enum": [
                "road",
                "parking",
                "sidewalk"
              ]
            }
          }
        },
        "direction": {
          "type": "text",
          "name": "Direction",
          "validation": {
            "enum": [
              "all",
              "north",
              "south",
              "east",
              "west",
              "northeast",
              "southeast",
              "northwest",
              "southeast"
            ]
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "path": {
          "name": "Path",
          "type": "line",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "transit-route",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Transit Route",
      "notes": "Official specification for Transit Route.",
      "fields": {
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "enum": [
              "boat",
              "bus",
              "train",
              "subway",
              "light rail"
            ]
          }
        },
        "operator": {
          "name": "Operator",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "distance": {
          "name": "Distance",
          "type": "number",
          "measurement": {
            "type": "distance",
            "value": "kilometer"
          },
          "validation": {
            "min": 0,
            "max": 9000
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "path": {
          "name": "Path",
          "type": "line",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "vgerge",
      "userId": "736631a0-3c6a-4ded-9722-28abdfe6a6e2",
      "createdAt": "2017-10-06T12:31:28.000Z",
      "updatedAt": "2017-10-06T12:31:28.000Z",
      "official": false,
      "name": "vgerge",
      "notes": "regege",
      "fields": {
        "ergerge": {
          "name": "ergerge",
          "validate": {
            "minKeys": 333,
            "required": true
          },
          "type": "object"
        },
        "r3r33": {
          "name": "r3r33",
          "validate": {
            "required": true
          },
          "type": "any"
        }
      }
    },
    {
      "id": "transit-vehicle",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Transit Vehicle",
      "notes": "Official specification for Transit Vehicles.",
      "fields": {
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "operator": {
          "name": "Operator",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "active": {
          "name": "Active",
          "type": "boolean"
        },
        "heading": {
          "name": "Heading",
          "type": "number",
          "validation": {
            "min": 0,
            "max": 360
          }
        },
        "speed": {
          "name": "Speed",
          "type": "number",
          "measurement": {
            "type": "speed",
            "value": "kilometer"
          },
          "validation": {
            "min": 0,
            "max": 440
          }
        },
        "passengers": {
          "name": "Passengers",
          "type": "number",
          "validation": {
            "min": 0,
            "max": 1000
          }
        },
        "capacity": {
          "name": "Capacity",
          "type": "number",
          "validation": {
            "min": 0,
            "max": 1000
          }
        },
        "routeId": {
          "name": "Route ID",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "nextStationId": {
          "name": "Next Station ID",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "light",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Light",
      "notes": "Official specification for Lights",
      "fields": {
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "accessories": {
          "name": "Accessories",
          "type": "array",
          "items": {
            "name": "Accessory",
            "type": "text",
            "required": true,
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "control": {
          "name": "Control",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "issues": {
          "name": "Issues",
          "type": "array",
          "items": {
            "name": "Issue",
            "type": "text",
            "required": true,
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "sidewalk",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Sidewalk",
      "notes": "Official specification for Sidewalk data.",
      "fields": {
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "operator": {
          "name": "Operator",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "path": {
          "name": "Path",
          "type": "line",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "traffic-incident",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Traffic Incident",
      "notes": "Official specification for Traffic Incidents.",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "endedAt": {
          "name": "Ended",
          "type": "date"
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "park",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Park",
      "notes": "Official specification for Parks",
      "fields": {
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "operators": {
          "name": "Operators",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "type": "text",
            "name": "Operator",
            "validation": {
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "area": {
          "name": "Area",
          "type": "multipolygon",
          "validation": {
            "required": true
          }
        }
      }
    }
  ],
  "meta": {
    "results": 20,
    "total": 34
  }
}
 

Search Municipality Data Types

 
gethttps://municipal.systems/v1/municipalities/municipalityId/schemata
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/schemata')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [
    {
      "id": "bike-lane",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Bike Lane",
      "notes": "Official specification for bike lane data.",
      "fields": {
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "directions": {
          "name": "Directions",
          "type": "array",
          "validation": {
            "minItems": 1,
            "unique": true
          },
          "items": {
            "name": "Direction",
            "type": "text",
            "validation": {
              "required": true,
              "enum": [
                "north",
                "south",
                "east",
                "west",
                "northeast",
                "southeast",
                "northwest",
                "southwest"
              ]
            }
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "path": {
          "name": "Path",
          "type": "line",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "government-property",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Government Property",
      "notes": "Official specification for Government Properties",
      "fields": {
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "value": {
          "name": "Value",
          "type": "number",
          "validation": {
            "min": 0
          }
        },
        "operators": {
          "name": "Operators",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "type": "text",
            "name": "Operator",
            "validation": {
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "business",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Businesses",
      "notes": "Official specification for businesses",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "endedAt": {
          "name": "Ended",
          "type": "date"
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "phone": {
          "name": "Phone Number",
          "type": "text",
          "validation": {
            "phone": true
          }
        },
        "email": {
          "name": "Email",
          "type": "text",
          "validation": {
            "email": true
          }
        },
        "url": {
          "name": "URL",
          "type": "text",
          "validation": {
            "url": true
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "mural",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Mural",
      "notes": "Official specification for Murals",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "completedAt": {
          "name": "Completed",
          "type": "date"
        },
        "artists": {
          "type": "array",
          "name": "Artists",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Artist",
            "type": "text",
            "required": true,
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "issue",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Issue",
      "notes": "Official specification for Issues",
      "fields": {
        "receivedAt": {
          "name": "Received",
          "type": "date"
        },
        "recognizedAt": {
          "name": "Recognized",
          "type": "date"
        },
        "closedAt": {
          "name": "Closed",
          "type": "date"
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "status": {
          "name": "Status",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "reporter": {
          "name": "Reporter",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "assignee": {
          "name": "Assignee",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "transit-route",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Transit Route",
      "notes": "Official specification for Transit Route.",
      "fields": {
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "enum": [
              "boat",
              "bus",
              "train",
              "subway",
              "light rail"
            ]
          }
        },
        "operator": {
          "name": "Operator",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "distance": {
          "name": "Distance",
          "type": "number",
          "measurement": {
            "type": "distance",
            "value": "kilometer"
          },
          "validation": {
            "min": 0,
            "max": 9000
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "path": {
          "name": "Path",
          "type": "line",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "park",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Park",
      "notes": "Official specification for Parks",
      "fields": {
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "operators": {
          "name": "Operators",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "type": "text",
            "name": "Operator",
            "validation": {
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "area": {
          "name": "Area",
          "type": "multipolygon",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "tree",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Tree",
      "notes": "Official specification for Trees",
      "fields": {
        "recordedAt": {
          "name": "Recorded",
          "type": "date"
        },
        "plantedAt": {
          "name": "Planted",
          "type": "date"
        },
        "removedAt": {
          "name": "Removed",
          "type": "date"
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "issues": {
          "name": "Issues",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "validation": {
              "enum": [
                "root stone",
                "root grate",
                "root other",
                "trunk wire",
                "trunk lights",
                "trunk other",
                "branch light",
                "branch shoe",
                "branch other",
                "sidewalk damage",
                "weeds",
                "blocking signs",
                "trash",
                "overgrown",
                "water"
              ]
            },
            "type": "text",
            "name": "Issue"
          }
        },
        "recorder": {
          "name": "Recorder",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "latinName": {
          "name": "Latin Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "commonName": {
          "name": "Common Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "status": {
          "name": "Status",
          "type": "text",
          "validation": {
            "enum": [
              "alive",
              "dead",
              "stump"
            ]
          }
        },
        "health": {
          "name": "Health",
          "type": "text",
          "validation": {
            "enum": [
              "good",
              "fair",
              "poor"
            ]
          }
        },
        "height": {
          "name": "Height",
          "type": "number",
          "validation": {
            "min": 0,
            "max": 12000
          }
        },
        "stumpDiameter": {
          "name": "Stump Diameter",
          "type": "number",
          "validation": {
            "min": 0,
            "max": 3200
          }
        },
        "breastDiameter": {
          "name": "Breast Diameter",
          "type": "number",
          "validation": {
            "min": 0,
            "max": 3200
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "trip",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Trip",
      "notes": "Official specification for Trip.",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "endedAt": {
          "name": "Ended",
          "type": "date"
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "enum": [
              "bicycle",
              "car",
              "boat",
              "bus",
              "walking",
              "train",
              "subway",
              "light rail"
            ]
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "startStationId": {
          "name": "Start Station ID",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "endStationId": {
          "name": "End Station ID",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "operator": {
          "name": "Operator",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "vehicleId": {
          "name": "Vehicle ID",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "distance": {
          "name": "Distance",
          "type": "number",
          "measurement": {
            "type": "distance",
            "value": "kilometer"
          },
          "validation": {
            "min": 0,
            "max": 9000
          }
        },
        "cost": {
          "name": "Cost",
          "type": "number",
          "measurement": {
            "type": "currency",
            "value": "usd"
          },
          "validation": {
            "min": 0,
            "max": 50000
          }
        },
        "passengers": {
          "name": "Passengers",
          "type": "number",
          "validation": {
            "min": 0,
            "max": 1024
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "path": {
          "name": "Path",
          "type": "line",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "parcel",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Parcel",
      "notes": "Official specification for Parcels",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "endedAt": {
          "name": "Ended",
          "type": "date"
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "operators": {
          "name": "Operators",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "type": "text",
            "name": "Operator",
            "validation": {
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "landValue": {
          "name": "Land Value",
          "type": "number",
          "measurement": {
            "type": "currency",
            "value": "usd"
          },
          "validation": {
            "min": 0
          }
        },
        "buildingValue": {
          "name": "Building Value",
          "type": "number",
          "measurement": {
            "type": "currency",
            "value": "usd"
          },
          "validation": {
            "min": 0
          }
        },
        "value": {
          "name": "Value",
          "type": "number",
          "measurement": {
            "type": "currency",
            "value": "usd"
          },
          "validation": {
            "min": 0
          }
        },
        "tax": {
          "name": "Tax",
          "type": "number",
          "measurement": {
            "type": "currency",
            "value": "usd"
          },
          "validation": {
            "min": 0
          }
        },
        "salePrice": {
          "name": "Sale Price",
          "type": "number",
          "measurement": {
            "type": "currency",
            "value": "usd"
          },
          "validation": {
            "min": 0
          }
        },
        "lotId": {
          "name": "Lot ID",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "blockId": {
          "name": "Block ID",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "area": {
          "name": "Area",
          "type": "multipolygon",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "transit-station",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Transit Station",
      "notes": "Official specification for Transit Stations.",
      "fields": {
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "operators": {
          "name": "Operators",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "type": "text",
            "name": "Operator",
            "validation": {
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "routeIds": {
          "name": "Routes",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Route",
            "type": "text",
            "validation": {
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "traffic-camera",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Traffic Camera",
      "notes": "Official specification for Traffic Cameras.",
      "fields": {
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "direction": {
          "type": "text",
          "name": "Direction",
          "validation": {
            "enum": [
              "all",
              "north",
              "south",
              "east",
              "west",
              "northeast",
              "southeast",
              "northwest",
              "southeast"
            ]
          }
        },
        "operator": {
          "name": "Operator",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "stream": {
          "name": "Stream",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048,
            "stream": true
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "zone",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Zone",
      "notes": "Official specification for Zones",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "endedAt": {
          "name": "Ended",
          "type": "date"
        },
        "name": {
          "name": "Name",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "zoning": {
          "name": "Zoning",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "area": {
          "name": "Area",
          "type": "multipolygon",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "traffic-jam",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Traffic Jam",
      "notes": "Official specification for Traffic Incidents.",
      "fields": {
        "startedAt": {
          "name": "Started",
          "type": "date"
        },
        "endedAt": {
          "name": "Ended",
          "type": "date"
        },
        "severity": {
          "name": "Severity",
          "type": "number",
          "measurement": {
            "type": "percentage",
            "value": "decimal"
          },
          "validation": {
            "min": 0,
            "max": 1
          }
        },
        "distance": {
          "type": "number",
          "name": "Distance",
          "measurement": {
            "type": "distance",
            "value": "kilometer"
          },
          "validation": {
            "min": 0,
            "max": 9000
          }
        },
        "speed": {
          "type": "number",
          "name": "Speed",
          "measurement": {
            "type": "speed",
            "value": "kilometer"
          },
          "validation": {
            "min": 0,
            "max": 440
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "path": {
          "name": "Path",
          "type": "line",
          "validation": {
            "required": true
          }
        }
      }
    },
    {
      "id": "building-permit",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "Building Permit",
      "notes": "Official specification for building permits",
      "fields": {
        "receivedAt": {
          "name": "Received",
          "type": "date"
        },
        "issuedAt": {
          "name": "Issued",
          "type": "date"
        },
        "closedAt": {
          "name": "Closed",
          "type": "date"
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "status": {
          "name": "Status",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "cost": {
          "name": "Cost",
          "type": "number",
          "measurement": {
            "type": "currency",
            "value": "usd"
          },
          "validation": {
            "min": 0
          }
        },
        "parcelId": {
          "name": "Parcel ID",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        },
        "area": {
          "name": "Area",
          "type": "multipolygon"
        }
      }
    },
    {
      "id": "911-call",
      "userId": null,
      "createdAt": "2017-10-05T21:43:29.000Z",
      "updatedAt": "2017-11-12T22:08:19.000Z",
      "official": true,
      "name": "911 Call",
      "notes": "Official specification for 911 call data.",
      "fields": {
        "receivedAt": {
          "name": "Received",
          "type": "date",
          "validation": {
            "required": true
          }
        },
        "dispatchedAt": {
          "name": "Dispatched",
          "type": "date"
        },
        "arrivedAt": {
          "name": "Arrived",
          "type": "date"
        },
        "units": {
          "name": "Units",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Unit ID",
            "type": "text",
            "validation": {
              "required": true,
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "officers": {
          "name": "Officers",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Officer ID",
            "type": "text",
            "validation": {
              "required": true,
              "minLength": 1,
              "maxLength": 2048
            }
          }
        },
        "code": {
          "name": "Code",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "type": {
          "name": "Type",
          "type": "text",
          "validation": {
            "minLength": 1,
            "maxLength": 2048
          }
        },
        "notes": {
          "name": "Notes",
          "type": "text",
          "validation": {
            "minLength": 1
          }
        },
        "images": {
          "name": "Images",
          "type": "array",
          "validation": {
            "minItems": 1,
            "maxItems": 2048
          },
          "items": {
            "name": "Image",
            "type": "text",
            "validation": {
              "required": true,
              "image": true
            }
          }
        },
        "location": {
          "name": "Location",
          "type": "point",
          "validation": {
            "required": true
          }
        }
      }
    }
  ],
  "meta": {
    "results": 16,
    "total": 16
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

 

Data Type Lookup

 
gethttps://municipal.systems/v1/schemata/schemaId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/schemata/911-call')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "911-call",
  "userId": null,
  "createdAt": "2017-10-05T21:43:29.000Z",
  "updatedAt": "2017-11-12T22:08:19.000Z",
  "official": true,
  "name": "911 Call",
  "notes": "Official specification for 911 call data.",
  "fields": {
    "receivedAt": {
      "name": "Received",
      "type": "date",
      "validation": {
        "required": true
      }
    },
    "dispatchedAt": {
      "name": "Dispatched",
      "type": "date"
    },
    "arrivedAt": {
      "name": "Arrived",
      "type": "date"
    },
    "units": {
      "name": "Units",
      "type": "array",
      "validation": {
        "minItems": 1,
        "maxItems": 2048
      },
      "items": {
        "name": "Unit ID",
        "type": "text",
        "validation": {
          "required": true,
          "minLength": 1,
          "maxLength": 2048
        }
      }
    },
    "officers": {
      "name": "Officers",
      "type": "array",
      "validation": {
        "minItems": 1,
        "maxItems": 2048
      },
      "items": {
        "name": "Officer ID",
        "type": "text",
        "validation": {
          "required": true,
          "minLength": 1,
          "maxLength": 2048
        }
      }
    },
    "code": {
      "name": "Code",
      "type": "text",
      "validation": {
        "minLength": 1,
        "maxLength": 2048
      }
    },
    "type": {
      "name": "Type",
      "type": "text",
      "validation": {
        "minLength": 1,
        "maxLength": 2048
      }
    },
    "notes": {
      "name": "Notes",
      "type": "text",
      "validation": {
        "minLength": 1
      }
    },
    "images": {
      "name": "Images",
      "type": "array",
      "validation": {
        "minItems": 1,
        "maxItems": 2048
      },
      "items": {
        "name": "Image",
        "type": "text",
        "validation": {
          "required": true,
          "image": true
        }
      }
    },
    "location": {
      "name": "Location",
      "type": "point",
      "validation": {
        "required": true
      }
    }
  }
}

Path Params

schemaId
string
required

Unique ID for the schema

 

Data Type Properties

 
Field
Type
Description

id

String

Unique ID

name

String

Singular noun for the type of data

notes

String

Description of the data type or any related notes

official

Boolean

True if this is a standard data type created by STAE, false if it is user submitted.

userId

String

Reference to the User who created the type

fields

JSON

Map of every field + any validation/formatting requirements defined for the type

createdAt

Date

Date and time when the type was added to our system

updatedAt

Date

Date and time when the type was last modified in our system

Crime Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

receivedAt

Date

Yes

Date and time when the crime was first reported

dispatchedAt

Date

No

Date and time when the unit was dispatched

arrivedAt

Date

No

Date and time when the unit arrived at the location

units

Array of Strings

No

Unique identifiers for the units dispatched to the crime scene

type

String

No

Type of crime ("violent", "property", "traffic", etc.)

description

String

No

Description of the crime ("vehicle accident", "homicide", "robbery", etc.)

images

Array of URLs

No

List of images associated with the crime

location

GeoJSON Point

Yes

Location where the crime occurred

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> dispatchedAt -> arrivedAt)

Search Crimes

 
gethttps://municipal.systems/v1/municipalities/municipalityId/crimes
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/crimes')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [
    {
      "id": "fdcde021a27c16f549dbd63da2ceb717",
      "sourceId": "15-147198",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-01T18:24:01.000Z",
      "updatedAt": "2017-02-01T18:24:01.000Z",
      "images": null,
      "receivedAt": "2015-07-18T19:03:00.000Z",
      "dispatchedAt": "2015-07-18T19:05:00.000Z",
      "arrivedAt": "2015-07-18T19:38:00.000Z",
      "units": [
        "S203"
      ],
      "type": null,
      "description": "driveway parking violation",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.08859253,
          40.69771576
        ]
      },
      "meta": null
    },
    {
      "id": "3c896631deb7695d8f7a9049672871a0",
      "sourceId": "15-147194",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-01T18:24:01.000Z",
      "updatedAt": "2017-02-01T18:24:01.000Z",
      "images": null,
      "receivedAt": "2015-07-18T18:55:00.000Z",
      "dispatchedAt": "2015-07-18T18:58:00.000Z",
      "arrivedAt": "2015-07-18T19:14:00.000Z",
      "units": [
        "W603"
      ],
      "type": null,
      "description": "neighbor dispute",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.0719986,
          40.71149445
        ]
      },
      "meta": null
    },
    {
      "id": "34cffbfebd99db8d70a870d50586ab2b",
      "sourceId": "15-147191",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-01T18:24:01.000Z",
      "updatedAt": "2017-02-01T18:24:01.000Z",
      "images": null,
      "receivedAt": "2015-07-18T18:48:00.000Z",
      "dispatchedAt": "2015-07-18T18:51:00.000Z",
      "arrivedAt": "2015-07-18T18:58:00.000Z",
      "units": [
        "S603",
        "S203",
        "SMLK1B",
        "SMLK1A"
      ],
      "type": null,
      "description": "ambulance request for",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.0806427,
          40.70632553
        ]
      },
      "meta": null
    },
    {
      "id": "de8076bf6dbb7ef96b1d36228260ca02",
      "sourceId": "15-147186",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-01T18:24:01.000Z",
      "updatedAt": "2017-02-01T18:24:01.000Z",
      "images": null,
      "receivedAt": "2015-07-18T18:43:00.000Z",
      "dispatchedAt": "2015-07-18T18:44:00.000Z",
      "arrivedAt": "2015-07-18T18:57:00.000Z",
      "units": [
        "ENWPT"
      ],
      "type": null,
      "description": "merchant/customer dispute",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.03891754,
          40.72523499
        ]
      },
      "meta": null
    },
    {
      "id": "b1885f4ca26046207fdd64ca74b3f4fd",
      "sourceId": "15-147183",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-01T18:24:01.000Z",
      "updatedAt": "2017-02-01T18:24:01.000Z",
      "images": null,
      "receivedAt": "2015-07-18T18:40:00.000Z",
      "dispatchedAt": "2015-07-18T18:42:00.000Z",
      "arrivedAt": "2015-07-18T18:59:00.000Z",
      "units": [
        "W603",
        "W103",
        "W503"
      ],
      "type": null,
      "description": "suspicious person/condition",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.07381439,
          40.72039413
        ]
      },
      "meta": null
    }
  ],
  "meta": {
    "results": 5,
    "total": 53489
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Crime Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/crimes/crimeId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/crimes/12345-6789-ID')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "12345-6789-ID",
  "createdAt": "2016-07-15T20:12:26.254Z",
  "updatedAt": "2016-07-15T20:12:26.254Z",

  "sourceId": "15-183455",
  "receivedAt": "2014-01-01T05:03:00.000Z",
  "dispatchedAt": "2014-01-01T05:05:00.000Z",
  "arrivedAt": "2014-01-01T05:10:00.000Z",
	"images": [
    "https://example.com/image.jpeg
  ],
  "type": "violent",
  "description": "GUNSHOTS FIRED HEARD",
  "units": [
    "W201"
  ],
  "location": {
    "type": "Point",
    "coordinates": [
      -74.07084656,
      40.72986984
    ]
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

crimeId
string
required

Unique ID for the crime

 

Create a Crime

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/crimes
import request from 'superagent'

const data = {
  sourceId: "15-183455",

  receivedAt: "2014-01-01T05:03:00.000Z",
  dispatchedAt: "2014-01-01T05:05:00.000Z",
  arrivedAt: "2014-01-01T05:10:00.000Z",
	
  type: "violent",
  description: "GUNSHOTS FIRED HEARD",
  units: [ "W201" ],
  images: [ "https://example.com/image.jpeg" ],
  location: {
    type: "Point",
    coordinates: [
      -74.07084656,
      40.72986984
    ]
  }
}

request
  .post('https://municipal.systems/v1/data/crimes')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

receivedAt
date
required

Date and time when the crime was first reported

dispatchedAt
date
required

Date and time when the unit was dispatched

arrivedAt
date
required

Date and time when the unit arrived at the location

units
array of strings

Unique identifiers for the units dispatched to the crime scene

type
string

Type of crime ("violent", "property", "traffic", etc.)

description
string

Description of the crime ("vehicle accident", "homicide", "robbery", etc.)

images
array of strings

Array of image URLs for the crime

location
object
required

Location where the crime occurred

 
meta
object

Any non-standard fields

 
 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Crimes

 
gethttps://municipal.systems/v1/municipalities/municipalityId/crimes/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/crimes/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Trip Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

startedAt

Date

Yes

Date and time when the trip was started

endedAt

Date

No

Date and time when the trip was completed

operator

String

Yes

Identifier for the operator of the service ("yellow cab", "citibike", "uber", etc.)

type

String

Yes

Type of trip ("bicyle", "car", "train", "subway", "light rail", or "bus")

vehicleId

String

No

Unique identifier for the vehicle used to complete the trip

distance

Number

No (generated)

Distance in kilometers

cost

Number

No

Cost in USD

passengers

Number

Yes

Number of passengers

startLocation

GeoJSON Point

Yes

Location where the pickup occured

startStationId

String

No

Unique ID for a Transit Station the trip originated from

endLocation

GeoJSON Point

No

Location where the dropoff occured

endStationId

String

No

Unique ID for a Transit Station the trip ended

path

GeoJSON LineString

No

Full path of the trip

images

Array of URLs

No

List of images associated with the trip

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (started -> endedAt)

Full Path

If you provide the full trip path using the path attribute, the startLocation and endLocation fields will be calculated automatically.

Search Trips

 
gethttps://municipal.systems/v1/municipalities/municipalityId/trips
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/trips')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [
    {
      "id": "00512688e517352c4166d876dca21c63",
      "sourceId": "a44965b3fd776182f6c4ebee2e3a1908ff133fadcf4fbfa1602a9cd2729869d1de2dc113b3863c03948065be4478da4068ea1cee528b603e081969235ff553fd",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb01",
      "createdAt": "2017-02-01T12:50:54.000Z",
      "updatedAt": "2017-02-01T12:50:54.000Z",
      "startedAt": "2016-07-26T16:25:00.000Z",
      "endedAt": "2016-07-26T16:29:00.000Z",
      "type": "bicycle",
      "operator": "citibike",
      "vehicleId": "24446",
      "distance": "581.7406571117285",
      "cost": null,
      "passengers": 1,
      "startLocation": {
        "type": "Point",
        "coordinates": [
          -74.044725,
          40.752559
        ]
      },
      "endLocation": {
        "type": "Point",
        "coordinates": [
          -74.0403131,
          40.7485362
        ]
      },
      "path": {
        "type": "LineString",
        "coordinates": [
          [
            -74.044823,
            40.752597
          ],
          [
            -74.04492,
            40.752458
          ],
          [
            -74.044321,
            40.752229
          ],
          [
            -74.043508,
            40.751919
          ],
          [
            -74.042648,
            40.751591
          ],
          [
            -74.041802,
            40.751268
          ],
          [
            -74.04092,
            40.750932
          ],
          [
            -74.040053,
            40.750601
          ],
          [
            -74.041099,
            40.748987
          ],
          [
            -74.040274,
            40.74868
          ],
          [
            -74.040353,
            40.74855
          ]
        ]
      },
      "meta": {
        "endStation": {
          "id": 3198,
          "name": "heights elevator"
        },
        "meterDisance": 0.8,
        "startStation": {
          "id": 3197,
          "name": "north st"
        }
      }
    },
    {
      "id": "64015c47b16caf6fb6177b1f078e1f5d",
      "sourceId": "c08fadf99681c712f421060b56d532ee30b9c2a3e70d8b5d49010b45e133a0ce6648f4f85c3cbf0b0e092021e7f5ca06fb443098ebd41b618c905501e2b44c03",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb01",
      "createdAt": "2017-02-01T12:50:54.000Z",
      "updatedAt": "2017-02-01T12:50:54.000Z",
      "startedAt": "2016-07-26T16:21:00.000Z",
      "endedAt": "2016-07-26T16:23:00.000Z",
      "type": "bicycle",
      "operator": "citibike",
      "vehicleId": "24533",
      "distance": "219.07394621881082",
      "cost": null,
      "passengers": 1,
      "startLocation": {
        "type": "Point",
        "coordinates": [
          -74.0321082,
          40.7287448
        ]
      },
      "endLocation": {
        "type": "Point",
        "coordinates": [
          -74.0337589,
          40.7272235
        ]
      },
      "path": {
        "type": "LineString",
        "coordinates": [
          [
            -74.032094,
            40.728796
          ],
          [
            -74.032072,
            40.728793
          ],
          [
            -74.031985,
            40.728784
          ],
          [
            -74.031861,
            40.728773
          ],
          [
            -74.031869,
            40.72872
          ],
          [
            -74.031897,
            40.728532
          ],
          [
            -74.03194,
            40.728236
          ],
          [
            -74.032097,
            40.727087
          ],
          [
            -74.032139,
            40.72686
          ],
          [
            -74.032864,
            40.72692
          ],
          [
            -74.032926,
            40.726561
          ],
          [
            -74.034477,
            40.7267
          ],
          [
            -74.034519,
            40.726707
          ],
          [
            -74.034559,
            40.726718
          ],
          [
            -74.034599,
            40.726732
          ],
          [
            -74.03467,
            40.72676
          ],
          [
            -74.034552,
            40.726951
          ],
          [
            -74.034496,
            40.727049
          ],
          [
            -74.03447,
            40.727098
          ],
          [
            -74.034445,
            40.727151
          ],
          [
            -74.034424,
            40.727206
          ],
          [
            -74.034406,
            40.727261
          ],
          [
            -74.034392,
            40.727312
          ]
        ]
      },
      "meta": {
        "endStation": {
          "id": 3202,
          "name": "newport path"
        },
        "meterDisance": 0.4,
        "startStation": {
          "id": 3199,
          "name": "newport pkwy"
        }
      }
    },
    {
      "id": "c2aa1adec169e10e035a0393a10b9b17",
      "sourceId": "d31a80ceedd8f825f0551895d60899b30e7a9bee7c69a65d5235fcb5d8f3c2dec742f43c83373136ffad63a6c5e8a886674eff237722d71cee870b035551da58",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb01",
      "createdAt": "2017-02-01T12:50:54.000Z",
      "updatedAt": "2017-02-01T12:50:54.000Z",
      "startedAt": "2016-07-26T16:20:00.000Z",
      "endedAt": "2016-07-26T16:25:00.000Z",
      "type": "bicycle",
      "operator": "citibike",
      "vehicleId": "24722",
      "distance": "984.6582691929663",
      "cost": null,
      "passengers": 1,
      "startLocation": {
        "type": "Point",
        "coordinates": [
          -74.03805095,
          40.7211236
        ]
      },
      "endLocation": {
        "type": "Point",
        "coordinates": [
          -74.0321082,
          40.7287448
        ]
      },
      "path": {
        "type": "LineString",
        "coordinates": [
          [
            -74.038023,
            40.721227
          ],
          [
            -74.036544,
            40.721015
          ],
          [
            -74.036526,
            40.721098
          ],
          [
            -74.036518,
            40.721137
          ],
          [
            -74.036405,
            40.721843
          ],
          [
            -74.036234,
            40.722126
          ],
          [
            -74.036082,
            40.72299
          ],
          [
            -74.035985,
            40.723608
          ],
          [
            -74.035866,
            40.724079
          ],
          [
            -74.035729,
            40.724373
          ],
          [
            -74.035677,
            40.724483
          ],
          [
            -74.035635,
            40.724585
          ],
          [
            -74.035601,
            40.724682
          ],
          [
            -74.03554,
            40.724867
          ],
          [
            -74.035513,
            40.724949
          ],
          [
            -74.035447,
            40.725305
          ],
          [
            -74.035406,
            40.725494
          ],
          [
            -74.035384,
            40.725548
          ],
          [
            -74.035342,
            40.725655
          ],
          [
            -74.035288,
            40.725795
          ],
          [
            -74.03467,
            40.72676
          ],
          [
            -74.034552,
            40.726951
          ],
          [
            -74.034496,
            40.727049
          ],
          [
            -74.03447,
            40.727098
          ],
          [
            -74.034445,
            40.727151
          ],
          [
            -74.034424,
            40.727206
          ],
          [
            -74.034406,
            40.727261
          ],
          [
            -74.034392,
            40.727313
          ],
          [
            -74.034381,
            40.727368
          ],
          [
            -74.034371,
            40.727428
          ],
          [
            -74.034364,
            40.727483
          ],
          [
            -74.03436,
            40.727533
          ],
          [
            -74.034358,
            40.727585
          ],
          [
            -74.034357,
            40.727643
          ],
          [
            -74.03436,
            40.7277
          ],
          [
            -74.034365,
            40.727757
          ],
          [
            -74.034374,
            40.727811
          ],
          [
            -74.03439,
            40.727898
          ],
          [
            -74.034475,
            40.728306
          ],
          [
            -74.034553,
            40.728655
          ],
          [
            -74.034574,
            40.728758
          ],
          [
            -74.034584,
            40.728839
          ],
          [
            -74.034589,
            40.728914
          ],
          [
            -74.034589,
            40.728985
          ],
          [
            -74.034582,
            40.729064
          ],
          [
            -74.034571,
            40.729138
          ],
          [
            -74.034553,
            40.729238
          ],
          [
            -74.033541,
            40.729152
          ],
          [
            -74.033401,
            40.729139
          ],
          [
            -74.033309,
            40.729127
          ],
          [
            -74.033217,
            40.729113
          ],
          [
            -74.033102,
            40.729092
          ],
          [
            -74.033034,
            40.729077
          ],
          [
            -74.032968,
            40.72906
          ],
          [
            -74.032902,
            40.729042
          ],
          [
            -74.032839,
            40.729024
          ],
          [
            -74.032774,
            40.729004
          ],
          [
            -74.032709,
            40.728979
          ],
          [
            -74.032566,
            40.728923
          ],
          [
            -74.032438,
            40.728875
          ],
          [
            -74.032377,
            40.728854
          ],
          [
            -74.032314,
            40.728837
          ],
          [
            -74.032241,
            40.728821
          ],
          [
            -74.032163,
            40.728806
          ],
          [
            -74.032094,
            40.728796
          ]
        ]
      },
      "meta": {
        "endStation": {
          "id": 3199,
          "name": "newport pkwy"
        },
        "meterDisance": 1,
        "startStation": {
          "id": 3187,
          "name": "warren st"
        }
      }
    },
    {
      "id": "6d806c16b2945516180c927257bd6642",
      "sourceId": "3a53d7be8b8f0afb47958f744870c02a055165093409c6324fce5c1373a1fcf719e2e9aabb539e1449c8d495b8f2fe3be79ecb1a5d0cf4227266c183d074632d",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb01",
      "createdAt": "2017-02-01T12:50:53.000Z",
      "updatedAt": "2017-02-01T12:50:53.000Z",
      "startedAt": "2016-07-26T16:18:00.000Z",
      "endedAt": "2016-07-26T16:25:00.000Z",
      "type": "bicycle",
      "operator": "citibike",
      "vehicleId": "24450",
      "distance": "810.9359609444232",
      "cost": null,
      "passengers": 1,
      "startLocation": {
        "type": "Point",
        "coordinates": [
          -74.0638906,
          40.7309459
        ]
      },
      "endLocation": {
        "type": "Point",
        "coordinates": [
          -74.0641943,
          40.7236589
        ]
      },
      "path": {
        "type": "LineString",
        "coordinates": [
          [
            -74.063908,
            40.730866
          ],
          [
            -74.062862,
            40.730726
          ],
          [
            -74.062814,
            40.730736
          ],
          [
            -74.062595,
            40.731183
          ],
          [
            -74.062564,
            40.731311
          ],
          [
            -74.06259,
            40.731326
          ],
          [
            -74.062569,
            40.731366
          ],
          [
            -74.062631,
            40.731431
          ],
          [
            -74.06268,
            40.731453
          ],
          [
            -74.063096,
            40.731623
          ],
          [
            -74.06302,
            40.732062
          ],
          [
            -74.062998,
            40.732157
          ],
          [
            -74.063175,
            40.732183
          ],
          [
            -74.063075,
            40.732693
          ],
          [
            -74.062896,
            40.732872
          ],
          [
            -74.063097,
            40.732946
          ],
          [
            -74.063384,
            40.732609
          ],
          [
            -74.063647,
            40.732302
          ],
          [
            -74.063664,
            40.732282
          ],
          [
            -74.063824,
            40.732095
          ],
          [
            -74.063952,
            40.731946
          ],
          [
            -74.064124,
            40.731711
          ],
          [
            -74.064234,
            40.731556
          ],
          [
            -74.064207,
            40.731416
          ],
          [
            -74.064297,
            40.730945
          ],
          [
            -74.064312,
            40.730866
          ],
          [
            -74.064413,
            40.730751
          ],
          [
            -74.064917,
            40.73031
          ],
          [
            -74.064966,
            40.730267
          ],
          [
            -74.065019,
            40.730218
          ],
          [
            -74.06594,
            40.729368
          ],
          [
            -74.064857,
            40.728603
          ],
          [
            -74.063579,
            40.727727
          ],
          [
            -74.06201,
            40.726628
          ],
          [
            -74.062523,
            40.725957
          ],
          [
            -74.062996,
            40.72533
          ],
          [
            -74.06346,
            40.724724
          ],
          [
            -74.064193,
            40.723768
          ],
          [
            -74.064256,
            40.723685
          ]
        ]
      },
      "meta": {
        "endStation": {
          "id": 3225,
          "name": "baldwin at montgomery"
        },
        "meterDisance": 1.4,
        "startStation": {
          "id": 3195,
          "name": "sip ave"
        }
      }
    },
    {
      "id": "b8a44d7c474e0bcad13982e6a854c5bd",
      "sourceId": "4acb1f951d233f7a0c974bea44aea88fc02e259951a83bdb61a674b1ba73292027f5ee1d32ba961fe3df46fb5f2248e48f66a48a20185b7d88320ffb2f2a9e94",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb01",
      "createdAt": "2017-02-01T12:50:53.000Z",
      "updatedAt": "2017-02-01T12:50:53.000Z",
      "startedAt": "2016-07-26T16:15:00.000Z",
      "endedAt": "2016-07-26T16:22:00.000Z",
      "type": "bicycle",
      "operator": "citibike",
      "vehicleId": "24474",
      "distance": "1147.968065306901",
      "cost": null,
      "passengers": 1,
      "startLocation": {
        "type": "Point",
        "coordinates": [
          -74.0337589,
          40.7272235
        ]
      },
      "endLocation": {
        "type": "Point",
        "coordinates": [
          -74.0424515,
          40.7192789
        ]
      },
      "path": {
        "type": "LineString",
        "coordinates": [
          [
            -74.034392,
            40.727312
          ],
          [
            -74.034406,
            40.727261
          ],
          [
            -74.034424,
            40.727206
          ],
          [
            -74.034445,
            40.727151
          ],
          [
            -74.03447,
            40.727098
          ],
          [
            -74.034496,
            40.727049
          ],
          [
            -74.034552,
            40.726951
          ],
          [
            -74.03467,
            40.72676
          ],
          [
            -74.034962,
            40.72677
          ],
          [
            -74.035198,
            40.726403
          ],
          [
            -74.035333,
            40.726175
          ],
          [
            -74.035379,
            40.726095
          ],
          [
            -74.035423,
            40.726016
          ],
          [
            -74.035462,
            40.725929
          ],
          [
            -74.035495,
            40.72585
          ],
          [
            -74.035537,
            40.725764
          ],
          [
            -74.035561,
            40.725692
          ],
          [
            -74.035593,
            40.725596
          ],
          [
            -74.035618,
            40.725507
          ],
          [
            -74.035638,
            40.725427
          ],
          [
            -74.035662,
            40.725324
          ],
          [
            -74.035738,
            40.724955
          ],
          [
            -74.035766,
            40.724848
          ],
          [
            -74.035791,
            40.724764
          ],
          [
            -74.035818,
            40.724677
          ],
          [
            -74.035876,
            40.724514
          ],
          [
            -74.035923,
            40.724404
          ],
          [
            -74.036059,
            40.724083
          ],
          [
            -74.036184,
            40.723627
          ],
          [
            -74.036279,
            40.723004
          ],
          [
            -74.036413,
            40.722133
          ],
          [
            -74.036405,
            40.721843
          ],
          [
            -74.037194,
            40.721913
          ],
          [
            -74.037247,
            40.721917
          ],
          [
            -74.038073,
            40.721991
          ],
          [
            -74.038218,
            40.721255
          ],
          [
            -74.038357,
            40.720559
          ],
          [
            -74.038376,
            40.72045
          ],
          [
            -74.038494,
            40.719852
          ],
          [
            -74.039547,
            40.719948
          ],
          [
            -74.041192,
            40.720098
          ],
          [
            -74.041234,
            40.719803
          ],
          [
            -74.041352,
            40.719005
          ],
          [
            -74.04182,
            40.719153
          ],
          [
            -74.042417,
            40.719339
          ]
        ]
      },
      "meta": {
        "endStation": {
          "id": 3186,
          "name": "grove st path"
        },
        "meterDisance": 1.4,
        "startStation": {
          "id": 3202,
          "name": "newport path"
        }
      }
    }
  ],
  "meta": {
    "results": 5,
    "total": 509727
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Trip Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/trips/tripId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/trips/00512688e517352c4166d876dca21c63')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "00512688e517352c4166d876dca21c63",
  "sourceId": "a44965b3fd776182f6c4ebee2e3a1908ff133fadcf4fbfa1602a9cd2729869d1de2dc113b3863c03948065be4478da4068ea1cee528b603e081969235ff553fd",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb01",
  "createdAt": "2017-02-01T12:50:54.000Z",
  "updatedAt": "2017-02-01T12:50:54.000Z",
  "images": null,
  "startedAt": "2016-07-26T16:25:00.000Z",
  "endedAt": "2016-07-26T16:29:00.000Z",
  "type": "bicycle",
  "startStationId": null,
  "endStationId": null,
  "operator": "citibike",
  "vehicleId": "24446",
  "distance": "581.7406571117285",
  "cost": null,
  "passengers": 1,
  "startLocation": {
    "type": "Point",
    "coordinates": [
      -74.044725,
      40.752559
    ]
  },
  "endLocation": {
    "type": "Point",
    "coordinates": [
      -74.0403131,
      40.7485362
    ]
  },
  "path": {
    "type": "LineString",
    "coordinates": [
      [
        -74.044823,
        40.752597
      ],
      [
        -74.04492,
        40.752458
      ],
      [
        -74.044321,
        40.752229
      ],
      [
        -74.043508,
        40.751919
      ],
      [
        -74.042648,
        40.751591
      ],
      [
        -74.041802,
        40.751268
      ],
      [
        -74.04092,
        40.750932
      ],
      [
        -74.040053,
        40.750601
      ],
      [
        -74.041099,
        40.748987
      ],
      [
        -74.040274,
        40.74868
      ],
      [
        -74.040353,
        40.74855
      ]
    ]
  },
  "meta": {
    "endStation": {
      "id": 3198,
      "name": "heights elevator"
    },
    "meterDisance": 0.8,
    "startStation": {
      "id": 3197,
      "name": "north st"
    }
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

tripId
string
required

Unique ID for the trip

 

Create a Trip

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/trips
import request from 'superagent'

const data = {
  sourceId: 'b6cfe107c60fb5bd6557a8e5b299b355f170e462',
  startedAt: '2016-07-26T20:25:00.000Z',
  endedAt: '2016-07-26T20:29:00.000Z',
  type: 'bicycle',
  operator: 'citibike',
  vehicleId: '24446',
  distance: 1,
  passengers: 1,
  startLocation: {
    type: 'Point',
    coordinates: [
      -74.044725,
      40.752559
    ]
  },
  endLocation: {
    type: 'Point',
    coordinates: [
      -74.0403131,
      40.7485362
    ]
  },
  meta: {
    endStation: {
      id: 3198,
      name: 'Heights Elevator'
    },
    startStation: {
      id: 3197,
      name: 'North St'
    }
  }
}

request
  .post('https://municipal.systems/v1/data/trips')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

startedAt
date
required

Date and time when the trip was started

endedAt
date
required

Date and time when the trip was completed

operator
string
required

Identifier for the operator of the service ("yellow cab", "citibike", "uber", etc.)

type
string
required

Type of vehicle ("bicycle", "car", or "bus")

vehicleId
string

Unique identifier for the vehicle used to complete the trip

distance
int32
required

Distance in kilometers

cost
int32

Cost in USD

passengers
int32
required

Number of passengers

startLocation
object
required

Location where the pickup occurred

 
endLocation
object
required

Location where the dropoff occured

 
path
object

Full path of the trip

 
meta
object

Any non-standard fields

 
 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Trips

 
gethttps://municipal.systems/v1/municipalities/municipalityId/trips/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/trips/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Issue Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

receivedAt

Date

Yes

Date and time when the issue was received

recognizedAt

Date

No

Date and time when the issue was seen by somebody

closedAt

Date

No

Date and time when the issue was closed

type

String

Yes

Type of issue ("sidewalk damaged", "tree fallen", "pothole", etc.)

status

String

Yes

Current status of the issue ("open", "recognized", "closed", or "archived")

description

String

No

Description of the issue

reporter

String

No

Person who reported the issue

assignee

String

No

Person assigned to the issue

images

Array of URLs

No

List of images associated with the issue

location

GeoJSON Point

Yes

Location where the dropoff occured

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Issues

 
gethttps://municipal.systems/v1/municipalities/municipalityId/issues
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/issues')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [
    {
      "id": "e27a6c7d8260eab63807afd7e72762c6",
      "sourceId": "3216724",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb07",
      "createdAt": "2017-02-17T20:26:56.000Z",
      "updatedAt": "2017-02-17T20:26:56.000Z",
      "images": [
        "https://seeclickfix.com/files/issue_images/0069/2194/1487360659191.jpg"
      ],
      "receivedAt": "2017-02-17T19:51:11.000Z",
      "recognizedAt": null,
      "closedAt": null,
      "type": "Parks and Playgrounds",
      "status": "open",
      "description": null,
      "reporter": null,
      "assignee": "Alphonso Lynch (1324622)",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.0826874,
          40.7253935071486
        ]
      },
      "meta": {
        "url": "https://seeclickfix.com/issues/3216724",
        "questions": [
          {
            "answer": "Other",
            "question": "Please select an issue below:"
          },
          {
            "answer": "Lincoln Park West \r\n",
            "question": "Name of Park"
          },
          {
            "answer": "The playground is locked!!! At 2:47 pm the gate is locked with a big Padlock!!!",
            "question": "Please provide a description of the help you need:"
          }
        ],
        "assigneeId": 1324622,
        "reporterId": 0,
        "assigneeName": "Alphonso Lynch",
        "reporterName": "An anonymous SeeClickFix user",
        "assigneeImage": "https://seeclickfix.com/assets/no-avatar-100-5e06fcc664c6376bbf654cbd67df857ff81918c5f5c6a2345226093147382de9.png",
        "reporterImage": "https://seeclickfix.com/anonymous-avatar-150x150.png"
      }
    },
    {
      "id": "3c2aa26cd59d14947a5df45dd3e36da9",
      "sourceId": "3216633",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb07",
      "createdAt": "2017-02-17T20:26:57.000Z",
      "updatedAt": "2017-02-17T20:26:57.000Z",
      "images": [
        "https://seeclickfix.com/files/issue_images/0069/2169/SCF__20170217_140152644566907.jpg"
      ],
      "receivedAt": "2017-02-17T19:16:10.000Z",
      "recognizedAt": null,
      "closedAt": null,
      "type": "Trash: Litter/debris/bulk waste",
      "status": "open",
      "description": "Unsightly chunk of asphalt on sidewalk",
      "reporter": "Joel (1368280)",
      "assignee": "cpisano (1335587)",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.061636,
          40.7305198
        ]
      },
      "meta": {
        "url": "https://seeclickfix.com/issues/3216633",
        "questions": [
          {
            "answer": "No",
            "question": "Is this a vacant lot?"
          },
          {
            "answer": "No Answer Given",
            "question": "Additional Information:"
          }
        ],
        "assigneeId": 1335587,
        "reporterId": 1368280,
        "assigneeName": "cpisano",
        "reporterName": "Joel",
        "assigneeImage": "https://crm.seeclickfix.com/assets/no-avatar-100-5e06fcc664c6376bbf654cbd67df857ff81918c5f5c6a2345226093147382de9.png",
        "reporterImage": "https://seeclickfix.com/assets/no-avatar-100-5e06fcc664c6376bbf654cbd67df857ff81918c5f5c6a2345226093147382de9.png"
      }
    },
    {
      "id": "c9dc87bdb6026cf945eaf3151d5740ac",
      "sourceId": "3216585",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb07",
      "createdAt": "2017-02-17T20:26:57.000Z",
      "updatedAt": "2017-02-17T20:26:57.000Z",
      "images": null,
      "receivedAt": "2017-02-17T18:57:26.000Z",
      "recognizedAt": null,
      "closedAt": null,
      "type": "Construction",
      "status": "open",
      "description": "work being done on roof etc. stuff falling on sidewalk. dumpster present no permits visible.",
      "reporter": "Heightsman (1346322)",
      "assignee": "Construction Code Official (1303562)",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.0471788,
          40.7469729
        ]
      },
      "meta": {
        "url": "https://seeclickfix.com/issues/3216585",
        "questions": [
          {
            "answer": "Working without permits",
            "question": "What is the issue?"
          }
        ],
        "assigneeId": 1303562,
        "reporterId": 1346322,
        "assigneeName": "Construction Code Official",
        "reporterName": "Heightsman",
        "assigneeImage": "https://crm.seeclickfix.com/assets/no-avatar-100-5e06fcc664c6376bbf654cbd67df857ff81918c5f5c6a2345226093147382de9.png",
        "reporterImage": "https://seeclickfix.com/assets/no-avatar-100-5e06fcc664c6376bbf654cbd67df857ff81918c5f5c6a2345226093147382de9.png"
      }
    },
    {
      "id": "1a520fb3b4c08c4df49d552d478af57e",
      "sourceId": "3216567",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb07",
      "createdAt": "2017-02-17T20:26:57.000Z",
      "updatedAt": "2017-02-17T20:26:57.000Z",
      "images": null,
      "receivedAt": "2017-02-17T18:52:02.000Z",
      "recognizedAt": null,
      "closedAt": null,
      "type": "Parking issues",
      "status": "open",
      "description": "Due to the snow storm on Thursday, February 9, 2017 there were cars parked without permits for a couple of days.  Cars from New York, Pennsylvania, Connecticut and New Jersey parked on the streets.",
      "reporter": null,
      "assignee": "Division of Parking - Candace (1393218)",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.0435198,
          40.7267688
        ]
      },
      "meta": {
        "url": "https://seeclickfix.com/issues/3216567",
        "questions": [
          {
            "answer": "Abandoned Vehicle",
            "question": "What is the issue?"
          },
          {
            "answer": "No parking permits.",
            "question": "If a parking issue, what is the problem?"
          }
        ],
        "assigneeId": 1393218,
        "reporterId": 0,
        "assigneeName": "Division of Parking - Candace",
        "reporterName": "An anonymous SeeClickFix user",
        "assigneeImage": "https://crm.seeclickfix.com/assets/no-avatar-100-5e06fcc664c6376bbf654cbd67df857ff81918c5f5c6a2345226093147382de9.png",
        "reporterImage": "https://seeclickfix.com/anonymous-avatar-150x150.png"
      }
    },
    {
      "id": "3fb4ae066c0d5fb998626e594d814224",
      "sourceId": "3216504",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb07",
      "createdAt": "2017-02-17T20:26:57.000Z",
      "updatedAt": "2017-02-17T20:26:57.000Z",
      "images": [
        "https://seeclickfix.com/files/issue_images/0069/2138/1487355594604.jpg"
      ],
      "receivedAt": "2017-02-17T18:20:28.000Z",
      "recognizedAt": null,
      "closedAt": null,
      "type": "Streets: Sidewalks - In need of Repair",
      "status": "open",
      "description": "Broken sidewalk",
      "reporter": null,
      "assignee": "Housing Code Enforcement- Iris (1346654)",
      "location": {
        "type": "Point",
        "coordinates": [
          -74.0448519059152,
          40.7193207485223
        ]
      },
      "meta": {
        "url": "https://seeclickfix.com/issues/3216504",
        "questions": [
          {
            "answer": "No Answer Given",
            "question": "Please describe the sidewalk issue using the box below. "
          }
        ],
        "assigneeId": 1346654,
        "reporterId": 0,
        "assigneeName": "Housing Code Enforcement- Iris",
        "reporterName": "An anonymous SeeClickFix user",
        "assigneeImage": "https://crm.seeclickfix.com/assets/no-avatar-100-5e06fcc664c6376bbf654cbd67df857ff81918c5f5c6a2345226093147382de9.png",
        "reporterImage": "https://seeclickfix.com/anonymous-avatar-150x150.png"
      }
    }
  ],
  "meta": {
    "results": 5,
    "total": 3562
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Issue Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/issues/issueId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/issues/e27a6c7d8260eab63807afd7e72762c6')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "e27a6c7d8260eab63807afd7e72762c6",
  "sourceId": "3216724",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb07",
  "createdAt": "2017-02-17T20:26:56.000Z",
  "updatedAt": "2017-02-17T20:26:56.000Z",
  "images": [
    "https://seeclickfix.com/files/issue_images/0069/2194/1487360659191.jpg"
  ],
  "receivedAt": "2017-02-17T19:51:11.000Z",
  "recognizedAt": null,
  "closedAt": null,
  "type": "Parks and Playgrounds",
  "status": "open",
  "description": null,
  "reporter": null,
  "assignee": "Alphonso Lynch (1324622)",
  "location": {
    "type": "Point",
    "coordinates": [
      -74.0826874,
      40.7253935071486
    ]
  },
  "meta": {
    "url": "https://seeclickfix.com/issues/3216724",
    "questions": [
      {
        "answer": "Other",
        "question": "Please select an issue below:"
      },
      {
        "answer": "Lincoln Park West \r\n",
        "question": "Name of Park"
      },
      {
        "answer": "The playground is locked!!! At 2:47 pm the gate is locked with a big Padlock!!!",
        "question": "Please provide a description of the help you need:"
      }
    ],
    "assigneeId": 1324622,
    "reporterId": 0,
    "assigneeName": "Alphonso Lynch",
    "reporterName": "An anonymous SeeClickFix user",
    "assigneeImage": "https://seeclickfix.com/assets/no-avatar-100-5e06fcc664c6376bbf654cbd67df857ff81918c5f5c6a2345226093147382de9.png",
    "reporterImage": "https://seeclickfix.com/anonymous-avatar-150x150.png"
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

issueId
string
required

Unique ID for the issue

 

Create an Issue

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/issues
import request from 'superagent'

const data = {
  sourceId: 'b6cfe107c60fb5bd6557a8e5b299b355f170e462',
  receivedAt: '2016-07-26T20:25:00.000Z',
  closedAt: '2016-07-26T20:29:00.000Z',
  type: 'Streets: Pothole/sinkhole/uneven pavement',
  status: 'closed',
  description: 'Large pothole in middle of street',
  assignee: 'James Doe (184512)',
  images: [ 'https://imagesrc.png' ],
  location: {
    type: 'Point',
    coordinates: [
      -74.044725,
      40.752559
    ]
  },
  
  meta: {
    endStation: {
      id: 3198,
      name: 'Heights Elevator'
    },
    startStation: {
      id: 3197,
      name: 'North St'
    }
  }
}

request
  .post('https://municipal.systems/v1/data/issues')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

receivedAt
date
required

Date and time when the issue was first reported

recognizedAt
date
required

Date and time when the issue was recognized and processed

closedAt
date
required

Date and time when issue was closed

type
string
required

Type of issue ("Water/Sewer", "Trash", "Service request", etc.)

status
string
required

Status of the issue ("open", "closed", "recognized", "archived")

description
string

Description of the issue

reporter
string

Name or ID of the issue reporter

assignee
string

Municipal ID or department name assigned to the issue

location
object
required

Location where the issue was reported

 
meta
object

Any non-standard fields

 
images
array of strings

Images of the issue

 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Issues

 
gethttps://municipal.systems/v1/municipalities/municipalityId/issues/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/issues/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Building Permit Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

receivedAt

Date

Yes

Date and time when the permit was received

issuedAt

Date

No

Date and time when the permit was seen by somebody

closedAt

Date

No

Date and time when the permit request was closed

type

String

No

Type of permit ("addition", "modification", etc.)

status

String

No

Current status of the permit ("under reivew", "approved", or "rejected")

description

String

No

Description of the permit

cost

Number

No

Estimated total cost of the modifications

location

GeoJSON Point

Yes

Location that the permit refers to

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Building Permits

 
gethttps://municipal.systems/v1/municipalities/municipalityId/building_permits
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/building_permits')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [
    {
      "id": "4785c232796f9dc60304b125339c0d94",
      "sourceId": "1582592",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb05",
      "createdAt": "2017-02-21T20:07:41.000Z",
      "updatedAt": "2017-02-21T20:07:41.000Z",
      "images": null,
      "receivedAt": "2017-02-21T17:31:30.000Z",
      "issuedAt": null,
      "closedAt": null,
      "type": "alteration",
      "status": "under review",
      "description": "building",
      "cost": 42000,
      "location": {
        "type": "Point",
        "coordinates": [
          -74.066589,
          40.71625
        ]
      },
      "area": null,
      "meta": {
        "codes": "B",
        "trackingId": "129447"
      }
    }
  ],
  "meta": {
    "results": 1,
    "total": 7939
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Building Permit Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/building_permits/permitId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/building_permits/4785c232796f9dc60304b125339c0d94')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "4785c232796f9dc60304b125339c0d94",
  "sourceId": "1582592",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb05",
  "createdAt": "2017-02-21T20:07:41.000Z",
  "updatedAt": "2017-02-21T20:07:41.000Z",
  "images": null,
  "receivedAt": "2017-02-21T17:31:30.000Z",
  "issuedAt": null,
  "closedAt": null,
  "type": "alteration",
  "status": "under review",
  "description": "building",
  "cost": 42000,
  "location": {
    "type": "Point",
    "coordinates": [
      -74.066589,
      40.71625
    ]
  },
  "area": null,
  "meta": {
    "codes": "B",
    "trackingId": "129447"
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

permitId
string
required

Unique ID for the permit

 

Create a Building Permit

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/building_permits
import request from 'superagent'

const data = {
  sourceId: '1582768',
  receivedAt: 2017-02-21T20:55:17.000Z,
  issuedAt: null,
  closedAt: null,
  status: 'open',
  type: 'alteration',
  description: 'building',
  cost: 6800,
  meta: {
    codes: 'B',
    trackingId: '129467'
  },
  location: {
    type: 'Point',
    coordinates: [-74.081194, 40.717257]
  }
}

request
  .post('https://municipal.systems/v1/data/building_permits')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

receivedAt
date
required

Date and time when the permit was first submitted

closedAt
date

Date and time when permit was closed

issuedAt
date

Date and time when permit was issued

type
string

Type of permit ("alteration", "addition", "driveway", etc.)

status
string

Status of the permit ("under review", "approved", "rejected")

description
string

Description of the permit

cost
int32

Estimated total cost of the modifications

location
object
required

Location where the issue was reported

 
meta
object

Any non-standard fields

 
images
array of strings

Images related to the permit

 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Building Permits

 
gethttps://municipal.systems/v1/municipalities/municipalityId/building_permits/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/building_permits/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Business Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

startedAt

Date

Yes

Date and time when the business was started

endedAt

Date

No

Date and time when the business shut down

type

String

No

Type of business ("restaurant", "bakery", etc.)

name

String

No

Current status of the issue ("open", "recognized", "closed", or "archived")

phone

String Phone Number

No

Phone number of the business

email

String

No

Email of the business

url

URL

No

URL website of the business

images

Array of URLs

No

List of images associated with the business

location

GeoJSON Point

Yes

Location where the dropoff occured

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Businesses

 
gethttps://municipal.systems/v1/municipalities/municipalityId/businesses
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/businesses')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [{
    "id": "6cf718f1c6f0e74703c71bb0b4d5ebee",
    "sourceId": "eea628c3a88c1e9259e3ca20ff5cd90a7050e02f8b195d49e2657f07a93b1ae76b25c1ec2db11e0990542ea4348eccea47b40bb4f79906b8e3608f977fe54d63",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb23",
    "createdAt": "2017-02-21T20:09:19.000Z",
    "updatedAt": "2017-02-21T20:09:19.000Z",
    "images": null,
    "startedAt": "2016-12-21T20:09:19.000Z",
    "endedAt": null,
    "name": "Atlas Public House",
    "type": "Bar / Restaurant",
    "phone": "2014690044",
    "email": null,
    "url": null,
    "location": {
      "type": "Point",
      "coordinates": [-74.043221, 40.720372]
    },
    "meta": {
      "twitter": "/",
      "facebook": "https://www.facebook.com/Atlas-Public-House-163692473799989/",
      "instagram": "https://www.instagram.com/atlas_jc/",
      "established": 2016
    }
  }, {
    "id": "dc6f0a62c2f7c3c2c590aabdc3ddc4db",
    "sourceId": "080b507c672840553064484010097beb6cd8fc3c228a5620b5cb63d58405e351f7fd0b08558ea115617500abe38359a418bcc207e6d82767257de6adc7ba29ee",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb23",
    "createdAt": "2017-02-21T20:09:19.000Z",
    "updatedAt": "2017-02-21T20:09:19.000Z",
    "images": null,
    "startedAt": "2016-07-21T20:09:19.000Z",
    "endedAt": null,
    "name": "Hudson-Essex Allergy",
    "type": "Services",
    "phone": null,
    "email": null,
    "url": "http://www.heallergies.com/",
    "location": {
      "type": "Point",
      "coordinates": [-74.035561, 40.713217]
    },
    "meta": {
      "twitter": "https://twitter.com/HudEssexAllergy",
      "facebook": "https://www.facebook.com/hudsonessexallergy/",
      "instagram": "https://www.instagram.com/hudessexallergy/",
      "established": 2016
    }
  }, {
    "id": "70c69daeb43dea32fc80930e546063b7",
    "sourceId": "e575852c130167b44bac2351725e5a60f6e3dc3733285a8c2912fb3f872ec3105e6bf0ebf59d985ef5071a9c458389649455a97556ff16f5280777e41de9c984",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb23",
    "createdAt": "2017-02-21T20:09:17.000Z",
    "updatedAt": "2017-02-21T20:09:17.000Z",
    "images": null,
    "startedAt": "2016-09-21T20:09:17.000Z",
    "endedAt": null,
    "name": "Wurstbar",
    "type": "Bar / Restaurant",
    "phone": "2014798396",
    "email": null,
    "url": "http://www.wurstbarjc.com/",
    "location": {
      "type": "Point",
      "coordinates": [-74.046577, 40.720347]
    },
    "meta": {
      "twitter": "https://twitter.com/wurstbarjc",
      "facebook": "https://www.facebook.com/wurstbarjc/",
      "instagram": "https://www.instagram.com/wurstbarjc/",
      "established": 2016
    }
  }, {
    "id": "53c3a78a22c1b5af9ff3d02a1f81e847",
    "sourceId": "715a81561960602df5f872c6f446f268843f6f0a2f6dd7c35f323c053938360b00c7a64873e9192c4329377bcc425f118d1142b8a87b5aec6e4c8b6314dafaf5",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb23",
    "createdAt": "2017-02-21T20:09:16.000Z",
    "updatedAt": "2017-02-21T20:09:16.000Z",
    "images": null,
    "startedAt": "2016-08-21T20:09:16.000Z",
    "endedAt": null,
    "name": "World Business Lender",
    "type": "Professional Services",
    "phone": "8004329359",
    "email": null,
    "url": "https://www.wbl.com/",
    "location": {
      "type": "Point",
      "coordinates": [-74.0351, 40.716]
    },
    "meta": {
      "twitter": "https://twitter.com/WBL_US",
      "facebook": "https://www.facebook.com/worldbusinesslenders",
      "instagram": "/",
      "established": 2016
    }
  }, {
    "id": "0037caebe91c7678d5beaf2f659bb697",
    "sourceId": "379e027a350b06f67f541f1df7b481d37688ad6c9043cc171ffbe60404bf026a08de0344795247958b718e4732ded98e7db01e741ce9fbe083d068075f1d0025",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb23",
    "createdAt": "2017-02-21T20:09:15.000Z",
    "updatedAt": "2017-02-21T20:09:15.000Z",
    "images": null,
    "startedAt": "2016-11-21T20:09:15.000Z",
    "endedAt": null,
    "name": "The Hutton",
    "type": "Bar / Restaurant",
    "phone": "2018395382",
    "email": null,
    "url": null,
    "location": {
      "type": "Point",
      "coordinates": [-74.056064, 40.746974]
    },
    "meta": {
      "facebook": "https://www.facebook.com/thehutton/",
      "instagram": "https://www.instagram.com/thehuttonjc/",
      "established": 2016
    }
  }],
  "meta": {
    "results": 5,
    "total": 55
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Business Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/businesses/businessId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/businesses/6cf718f1c6f0e74703c71bb0b4d5ebefe')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "6cf718f1c6f0e74703c71bb0b4d5ebee",
  "sourceId": "eea628c3a88c1e9259e3ca20ff5cd90a7050e02f8b195d49e2657f07a93b1ae76b25c1ec2db11e0990542ea4348eccea47b40bb4f79906b8e3608f977fe54d63",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb23",
  "createdAt": "2017-02-21T20:09:19.000Z",
  "updatedAt": "2017-02-21T20:09:19.000Z",
  "images": null,
  "startedAt": "2016-12-21T20:09:19.000Z",
  "endedAt": null,
  "name": "Atlas Public House",
  "type": "Bar / Restaurant",
  "phone": "2014690044",
  "email": null,
  "url": null,
  "location": {
    "type": "Point",
    "coordinates": [-74.043221, 40.720372]
  },
  "meta": {
    "twitter": "/",
    "facebook": "https://www.facebook.com/Atlas-Public-House-163692473799989/",
    "instagram": "https://www.instagram.com/atlas_jc/",
    "established": 2016
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

businessId
string
required

Unique ID for the business

 

Create a Business

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/businesses
import request from 'superagent'

const data = {
  sourceId: 'b6cfe107c60fb5bd6557a8e5b299b355f170e462',
  receivedAt: '2016-07-26T20:25:00.000Z',
  closedAt: '2016-07-26T20:29:00.000Z',
  type: 'cafe',
  name: 'Sightglass',
  images: [ 'https://imagesrc.png' ],
  location: {
    type: 'Point',
    coordinates: [
      -74.044725,
      40.752559
    ]
  }
}

request
  .post('https://municipal.systems/v1/data/businesses')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

startedAt
date

Date and time when the business was created

endedAt
date

Date and time when the business shut down

type
string

Type of business ("restaurant", "cafe", "bakery", etc.)

location
object
required

Location of the business

 
phone
string

Phone number of the business

url
string

Website URL of the business

email
string

Email of the business

meta
object

Any non-standard fields

 
images
array of strings

Images of the business

name
string

Name of the business

 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Businesses

 
gethttps://municipal.systems/v1/municipalities/municipalityId/businesses/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/businesses/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Street Closure Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

startedAt

Date

Yes

Date and time when the closure started

endedAt

Date

Yes

Date and time when the closure ended

type

String

Yes

Type of closure ("partial" or "full")

description

String

No

Description of the closure

effects

Array of Strings

No

Side affects of closure, ("road", "parking", "sidewalk", etc.)

images

Array of URLs

No

List of images associated with the closure

direction

String

No

Direction of closure ("north", "south", "east", "west", "both")

startLocation

GeoJSON Point

Yes

Starting point of the closure

endLocation

GeoJSON Point

Yes

Ending point of the closure

path

GeoJSON Path

Yes

Driving path of the closure

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Street Closures

 
gethttps://municipal.systems/v1/municipalities/municipalityId/street_closures
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/street_issues')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [
    {
      "id": "e27a6c7d8260eab63807afd7e72762c6",
      "sourceId": "3216724",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb07",
      "startedAt": "2017-02-17T20:26:56.000Z",
      "updatedAt": "2017-02-17T20:26:56.000Z",
      "endedAt": "2017-02-17T19:51:11.000Z",
      "type": "road",
      "description": "Travel Lane Reduction",
      "path": {
        "type": "LineString",
        "coordinates": [
          [
            -74.0826874,
            40.7253935071486
          ],
          [
            -74.0926874,
            40.7653935071486
          ]
        ]
      },
      "meta": {}
    }
  ],
  "meta": {
    "results": 5,
    "total": 3562
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Street Closure Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/street_closures/closureId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/street_closures/e27a6c7d8260eab63807afd7e72762c6')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "e27a6c7d8260eab63807afd7e72762c6",
  "sourceId": "3216724",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb07",
  "startedAt": "2017-02-17T20:26:56.000Z",
  "updatedAt": "2017-02-17T20:26:56.000Z",
  "endedAt": "2017-02-17T19:51:11.000Z",
  "type": "road",
  "description": "Travel Lane Reduction",
  "path": {
    "type": "LineString",
    "coordinates": [
      [
        -74.0826874,
        40.7253935071486
      ],
      [
        -74.0926874,
        40.7653935071486
      ]
    ]
  },
  "meta": {}
}

Path Params

municipalityId
string
required

Unique ID for the municipality

closureId
string
required

Unique ID for the street closure

 

Create a Street Closure

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/street_closures
import request from 'superagent'

const data = {
  sourceId: 'b6cfe107c60fb5bd6557a8e5b299b355f170e462',
  startedAt: '2016-07-26T20:25:00.000Z',
  endedAt: '2016-07-26T20:29:00.000Z',
  type: 'partial',
  description: 'Travel Lane Reduction',
  path: {
    type: 'LineString',
    coordinates: [
      [
        -74.044725,
        40.752559
      ],
      [
        -74.044725,
        40.752559
      ]
    ]
  }
}

request
  .post('https://municipal.systems/v1/data/street_closures')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

startedAt
date
required

Date and time when the closure was started

endedAt
date
required

Date and time when closure ended

type
string

Type of closure ("partial", "full")

description
string

Description of the closure

effects
string

Side effects of the closure ("road", "parking", "sidewalk")

path
object
required

Location path of the closure

 
meta
object

Any non-standard fields

 
direction
string

Direction affected by the closure ("north", "south", "east", "west", "both")

 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Street Closures

 
gethttps://municipal.systems/v1/municipalities/municipalityId/street_closures/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/street_closures/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Bike Lane Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

name

String

No

Name of bike lane route

path

GeoJSON LineString path

Yes

Location path of the bike lane

startLocation

GeoJSON Point

No (generated)

Start location of the bike lane

endLocation

GeoJSON Point

No (generated)

End location of the bike lane

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Bike Lanes

 
gethttps://municipal.systems/v1/municipalities/municipalityId/bike_lanes
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/bike_lanes')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [{
    "id": "a2a7e2c0de76ecd93cf90f42554b00e9",
    "sourceId": "3",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb11",
    "createdAt": "2017-02-01T07:43:11.000Z",
    "updatedAt": "2017-02-01T07:43:11.000Z",
    "images": null,
    "name": "Woodlawn Avenue",
    "direction": "both",
    "startLocation": {
      "type": "Point",
      "coordinates": [-74.088647, 40.704771]
    },
    "endLocation": {
      "type": "Point",
      "coordinates": [-74.083043, 40.701002]
    },
    "path": {
      "type": "LineString",
      "coordinates": [
        [-74.088647, 40.704771],
        [-74.088147, 40.704438],
        [-74.087622, 40.704087],
        [-74.087312, 40.703881],
        [-74.087296, 40.70387],
        [-74.085947, 40.702959],
        [-74.085945, 40.702958],
        [-74.084589, 40.702088],
        [-74.084585, 40.702085],
        [-74.083965, 40.701623],
        [-74.083043, 40.701002]
      ]
    },
    "meta": null
  }, {
    "id": "36bab3673f775d7ab393b6957e189c15",
    "sourceId": "59",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb11",
    "createdAt": "2017-02-01T07:43:11.000Z",
    "updatedAt": "2017-02-01T07:43:11.000Z",
    "images": null,
    "name": "York Street",
    "direction": "both",
    "startLocation": {
      "type": "Point",
      "coordinates": [-74.055103, 40.720155]
    },
    "endLocation": {
      "type": "Point",
      "coordinates": [-74.048148, 40.717988]
    },
    "path": {
      "type": "LineString",
      "coordinates": [
        [-74.055103, 40.720155],
        [-74.054244, 40.719898],
        [-74.052726, 40.719443],
        [-74.051677, 40.719116],
        [-74.051171, 40.718955],
        [-74.049671, 40.718475],
        [-74.048148, 40.717989],
        [-74.048148, 40.717988]
      ]
    },
    "meta": null
  }],
  "meta": {
    "results": 2,
    "total": 62
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Bike Lane Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/bike_lanes/laneId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/bike_lanes/a2a7e2c0de76ecd93cf90f42554b00e9')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "a2a7e2c0de76ecd93cf90f42554b00e9",
  "sourceId": "3",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb11",
  "createdAt": "2017-02-01T07:43:11.000Z",
  "updatedAt": "2017-02-01T07:43:11.000Z",
  "images": null,
  "name": "Woodlawn Avenue",
  "direction": "both",
  "startLocation": {
    "type": "Point",
    "coordinates": [-74.088647, 40.704771]
  },
  "endLocation": {
    "type": "Point",
    "coordinates": [-74.083043, 40.701002]
  },
  "path": {
    "type": "LineString",
    "coordinates": [
      [-74.088647, 40.704771],
      [-74.088147, 40.704438],
      [-74.087622, 40.704087],
      [-74.087312, 40.703881],
      [-74.087296, 40.70387],
      [-74.085947, 40.702959],
      [-74.085945, 40.702958],
      [-74.084589, 40.702088],
      [-74.084585, 40.702085],
      [-74.083965, 40.701623],
      [-74.083043, 40.701002]
    ]
  },
  "meta": null
}

Path Params

municipalityId
string
required

Unique ID for the municipality

laneId
string
required

Unique ID for the bike lane

 

Create a Bike Lane

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/bike_lanes
import request from 'superagent'

const data = {
  sourceId: '48',
  name: 'Jersey Avenue',
  direction: 'both',
  path: {
    coordinates: [
      [
        [-74.049008, 40.716367],
        [-74.049349, 40.715746],
        [-74.04956, 40.715348],
        [-74.049649, 40.715187],
        [-74.049739, 40.715035],
        [-74.050457, 40.713723],
        [-74.050503, 40.71364],
        [-74.050691, 40.713288],
        [-74.050758, 40.713168],
        [-74.050854, 40.712999],
        [-74.051186, 40.712405],
        [-74.051319, 40.712398],
        [-74.051319, 40.712397]
      ]
    ],
    type: 'LineString'
  }
}

request
  .post('https://municipal.systems/v1/data/bike_lanes')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

name
string

Name of the bike lane (path)

direction
string

Direction of the bike lane ("north", "south", "east", "west")

path
object
required

Location path of the closure

 
meta
object

Any non-standard fields

 
 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Bike Lanes

 
gethttps://municipal.systems/v1/municipalities/municipalityId/bike_lanes/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/bike_lanes/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Traffic Jam Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

startedAt

Date

Yes

Date and time when the jam was started

endedAt

Date

No

Date and time when the jam ended

severity

Number

No

Number ranging between 0 and 1 of the severity

distance

Number

No

Distance covered by the jam

speed

String

No

Average speed of the traffic through the jam in kilometers

startLocation

GeoJSON Point

Yes

Start location of the jam

endLocation

GeoJSON Point

Yes

End location of the jam

path

GeoJSON LineString

Yes (generated)

GeoJSON path of the jam

images

Array of URLs

No

List of images associated with the jam

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Traffic Jams

 
gethttps://municipal.systems/v1/municipalities/municipalityId/traffic_jams
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/traffic_jams')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [{
    "id": "35de2060d6e9fe44ebed89d3539798c6",
    "sourceId": "38275699",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb18",
    "createdAt": "2017-02-21T20:13:10.000Z",
    "updatedAt": "2017-02-21T20:13:10.000Z",
    "images": null,
    "startedAt": "2017-02-15T10:20:16.490Z",
    "endedAt": "2017-02-21T20:05:00.000Z",
    "severity": "1",
    "distance": "54.64854180109401",
    "speed": "0",
    "startLocation": {
      "type": "Point",
      "coordinates": [-74.08477, 40.73651]
    },
    "endLocation": {
      "type": "Point",
      "coordinates": [-74.085404, 40.736407]
    },
    "path": {
      "type": "LineString",
      "coordinates": [
        [-74.08477, 40.73651],
        [-74.084848, 40.736499],
        [-74.085404, 40.736407]
      ]
    },
    "meta": {
      "delay": -1,
      "street": "to Pulaski Skwy S (No Trucks)",
      "endStreet": "Pulaski Skwy S"
    }
  }],
  "meta": {
    "results": 1,
    "total": 10
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Traffic Jam Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/issues/jamId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/traffic_jams/e27a6c7d8260eab63807afd7e72762c6')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "35de2060d6e9fe44ebed89d3539798c6",
  "sourceId": "38275699",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb18",
  "createdAt": "2017-02-21T20:13:10.000Z",
  "updatedAt": "2017-02-21T20:13:10.000Z",
  "images": null,
  "startedAt": "2017-02-15T10:20:16.490Z",
  "endedAt": "2017-02-21T20:05:00.000Z",
  "severity": "1",
  "distance": "54.64854180109401",
  "speed": "0",
  "startLocation": {
    "type": "Point",
    "coordinates": [-74.08477, 40.73651]
  },
  "endLocation": {
    "type": "Point",
    "coordinates": [-74.085404, 40.736407]
  },
  "path": {
    "type": "LineString",
    "coordinates": [
      [-74.08477, 40.73651],
      [-74.084848, 40.736499],
      [-74.085404, 40.736407]
    ]
  },
  "meta": {
    "delay": -1,
    "street": "to Pulaski Skwy S (No Trucks)",
    "endStreet": "Pulaski Skwy S"
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

jamId
string
required

Unique ID for the issue

 

Create a Traffic Jam

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/traffic_jams
import request from 'superagent'

const data = { 
  sourceId: '253759095',
  startedAt: 1487722102517,
  endedAt: '2017-02-22 00:12:00:000',
  speed: 4.9084992,
  severity: 0.6000000000000001,
  path: 
   { 
     coordinates: 
      [
        [-84.390206,33.747816],
        [-84.390213,33.74782],
        [-84.391534,33.748546],
        [-84.392701,33.749204]
      ],
     type: 'LineString' 
  },
  meta: { 
    startStreet: undefined,
    endStreet: 'Lynfield Dr SW',
    street: 'Annelaine Dr SW',
    delay: 125 
  } 
}


request
  .post('https://municipal.systems/v1/data/traffic_jams')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

startedAt
date
required

Date and time when the jam started

endedAt
date
required

Date and time when the jam ended

severity
string

Severity of traffic jam (scale from 0 - 1)

distance
string

Distance of the traffic jam

speed
string

Speed of traffic through the jam in kilometers

assignee
string

Municipal ID or department name assigned to the issue

startLocation
object
required

Start Location where of the jam

 
endLocation
object
required

End Location of the jam

 
path
object
required

GeoJSON path of the jam

 
meta
object

Any non-standard fields

 
 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Traffic Jams

 
gethttps://municipal.systems/v1/municipalities/municipalityId/traffic_jams/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/traffic_james/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Traffic Incident Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

startedAt

Date

Yes

Date and time when the incident started

endedAt

Date

No

Date and time when the incident ended

type

String

Yes

Type of incident ("car accident", "road hazard", etc.)

description

String

No

Description of the incident

location

GeoJSON Point

Yes

Location where the incident occurred

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Traffic Incidents

 
gethttps://municipal.systems/v1/municipalities/municipalityId/traffic_incidents
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/traffic_incidents')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [{
    "id": "6d61fe120452f11e99fd32cb44a17788",
    "sourceId": "cd6a5300-f171-3130-ac96-23623d696795",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb26",
    "createdAt": "2017-02-22T00:36:04.000Z",
    "updatedAt": "2017-02-22T00:36:03.000Z",
    "images": null,
    "startedAt": "2017-02-22T00:16:04.518Z",
    "endedAt": null,
    "description": "ACCIDENT_MINOR",
    "type": "ACCIDENT",
    "location": {
      "type": "Point",
      "coordinates": [-84.42987, 33.841495]
    },
    "meta": {
      "street": "I-75 N",
      "roadType": 3,
      "confidence": 5,
      "reliability": 10,
      "reportRating": 3
    }
  }, {
    "id": "b8b8bb0f87a510579627a365c9341ace",
    "sourceId": "5b9ff289-b681-3766-83ac-ed681b526495",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb26",
    "createdAt": "2017-02-22T00:36:03.000Z",
    "updatedAt": "2017-02-22T00:36:03.000Z",
    "images": null,
    "startedAt": "2017-02-22T00:14:46.994Z",
    "endedAt": null,
    "description": "ACCIDENT_MAJOR",
    "type": "ACCIDENT",
    "location": {
      "type": "Point",
      "coordinates": [-84.42971, 33.844333]
    },
    "meta": {
      "street": "I-75 N",
      "roadType": 3,
      "confidence": 5,
      "reliability": 10,
      "reportRating": 0
    }
  }, {
    "id": "72855ac964e639357ffd88d4229e9eaf",
    "sourceId": "5380d42d-421f-3878-9f2b-b16ec0236761",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb26",
    "createdAt": "2017-02-22T00:36:03.000Z",
    "updatedAt": "2017-02-22T00:36:03.000Z",
    "images": null,
    "startedAt": "2017-02-21T23:47:45.711Z",
    "endedAt": null,
    "description": "ACCIDENT_MINOR",
    "type": "ACCIDENT",
    "location": {
      "type": "Point",
      "coordinates": [-84.390524, 33.769105]
    },
    "meta": {
      "street": "I-75 S",
      "roadType": 3,
      "confidence": 5,
      "reliability": 10,
      "reportRating": 2
    }
  }, {
    "id": "a8fa9987068894fbbaad2df39570c83d",
    "sourceId": "1486727d-d237-3651-bf1f-4bcbb0af1c8e",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb26",
    "createdAt": "2017-02-22T00:36:03.000Z",
    "updatedAt": "2017-02-22T00:36:03.000Z",
    "images": null,
    "startedAt": "2017-02-21T23:40:55.970Z",
    "endedAt": null,
    "description": "ACCIDENT_MINOR",
    "type": "ACCIDENT",
    "location": {
      "type": "Point",
      "coordinates": [-84.431227, 33.851533]
    },
    "meta": {
      "street": "I-75 S",
      "roadType": 3,
      "confidence": 5,
      "reliability": 10,
      "reportRating": 1
    }
  }],
  "meta": {
    "results": 4,
    "total": 15
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Traffic Incident Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/traffic_incidents/incidentId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/traffic_incidents/e27a6c7d8260eab63807afd7e72762c6')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "6d61fe120452f11e99fd32cb44a17788",
  "sourceId": "cd6a5300-f171-3130-ac96-23623d696795",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb26",
  "createdAt": "2017-02-22T00:36:04.000Z",
  "updatedAt": "2017-02-22T00:36:03.000Z",
  "images": null,
  "startedAt": "2017-02-22T00:16:04.518Z",
  "endedAt": null,
  "description": "ACCIDENT_MINOR",
  "type": "ACCIDENT",
  "location": {
    "type": "Point",
    "coordinates": [-84.42987, 33.841495]
  },
  "meta": {
    "street": "I-75 N",
    "roadType": 3,
    "confidence": 5,
    "reliability": 10,
    "reportRating": 3
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

incidentId
string
required

Unique ID for the incident

 

Create a Traffic Incident

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/traffic_incidents
import request from 'superagent'

const data = {
  sourceId: 'b6cfe107c60fb5bd6557a8e5b299b355f170e462',
  receivedAt: '2016-07-26T20:25:00.000Z',
  closedAt: '2016-07-26T20:29:00.000Z',
  type: 'Streets: Pothole/sinkhole/uneven pavement',
  status: 'closed',
  description: 'Large pothole in middle of street',
  assignee: 'James Doe (184512)',
  images: [ 'https://imagesrc.png' ],
  location: {
    type: 'Point',
    coordinates: [
      -74.044725,
      40.752559
    ]
  },
  
  meta: {
    endStation: {
      id: 3198,
      name: 'Heights Elevator'
    },
    startStation: {
      id: 3197,
      name: 'North St'
    }
  }
}

request
  .post('https://municipal.systems/v1/data/issues')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

receivedAt
date
required

Date and time when the issue was first reported

recognizedAt
date
required

Date and time when the trip was recognized and processed

closedAt
date
required

Date and time when issue was closed

type
string
required

Type of issue ("Water/Sewer", "Trash", "Service request", etc.)

status
string
required

Status of the issue ("open", "closed", "recognized", "archived")

description
string

Description of the issue

reporter
string

Name or ID of the issue reporter

assignee
string

Municipal ID or department name assigned to the issue

location
object
required

Location where the issue was reported

 
meta
object

Any non-standard fields

 
images
array of strings

Images of the issue

 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Traffic Incidents

 
gethttps://municipal.systems/v1/municipalities/municipalityId/traffic_incidents/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/traffic_incidents/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Traffic Camera Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

name

String

No

Name of camera

description

String

No

Description of the issue

operator

String

No

Operating company or organization

stream

String

No

URL of live video stream

direction

String

No

Direction camera is facing ("north", "south", "east", "west")

images

Array of URLs

No

The images from the camera feed

location

GeoJSON Point

Yes

Location of the camera

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Traffic Cameras

 
gethttps://municipal.systems/v1/municipalities/municipalityId/traffic_cameras
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/traffic_cameras')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [{
    "id": "24d99a4cf819bbb026d657ca582fb5fb",
    "sourceId": "CAM_03_NAve_East",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb25",
    "createdAt": "2017-02-22T15:58:46.000Z",
    "updatedAt": "2017-02-22T15:58:46.000Z",
    "images": ["https://intellistore.blob.core.windows.net/rtt-images/CAM_03_NAve_East.jpg"],
    "name": "CAM_03_NAve_East",
    "description": null,
    "stream": null,
    "direction": "east",
    "operator": "ATL",
    "location": {
      "type": "Point",
      "coordinates": [-84.388751, 33.771243]
    },
    "meta": null
  }, {
    "id": "a7a048eb4035ac41218eac1752d6048a",
    "sourceId": "CAM_02_NAve_West",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb25",
    "createdAt": "2017-02-22T15:58:46.000Z",
    "updatedAt": "2017-02-22T15:58:46.000Z",
    "images": ["https://intellistore.blob.core.windows.net/rtt-images/CAM_02_NAve_West.jpg"],
    "name": "CAM_02_NAve_West",
    "description": null,
    "stream": null,
    "direction": "west",
    "operator": "ATL",
    "location": {
      "type": "Point",
      "coordinates": [-84.388966, 33.771239]
    },
    "meta": null
  }, {
    "id": "42561e5425cd121268dc6ec8849d9954",
    "sourceId": "CAM_01_SSt_South",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb25",
    "createdAt": "2017-02-22T15:58:46.000Z",
    "updatedAt": "2017-02-22T15:58:46.000Z",
    "images": ["https://intellistore.blob.core.windows.net/rtt-images/CAM_01_SSt_South.jpg"],
    "name": "CAM_01_SSt_South",
    "description": null,
    "stream": null,
    "direction": "south",
    "operator": "ATL",
    "location": {
      "type": "Point",
      "coordinates": [-84.388826, 33.771133]
    },
    "meta": null
  }],
  "meta": {
    "results": 3,
    "total": 3
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Traffic Camera Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/traffic_cameras/cameraId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/traffic_cameras/00512688e517352c4166d876dca21c63')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "24d99a4cf819bbb026d657ca582fb5fb",
  "sourceId": "CAM_03_NAve_East",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb25",
  "createdAt": "2017-02-22T15:58:46.000Z",
  "updatedAt": "2017-02-22T15:58:46.000Z",
  "images": ["https://intellistore.blob.core.windows.net/rtt-images/CAM_03_NAve_East.jpg"],
  "name": "CAM_03_NAve_East",
  "description": null,
  "stream": null,
  "direction": "east",
  "operator": "ATL",
  "location": {
    "type": "Point",
    "coordinates": [-84.388751, 33.771243]
  },
  "meta": null
}

Path Params

municipalityId
string
required

Unique ID for the municipality

cameraId
string
required

Unique ID for the camera

 

Create a Traffic Camera

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/traffic_cameras
import request from 'superagent'

const data = {
  sourceId: 'b6cfe107c60fb5bd6557a8e5b299b355f170e462',
  name: 'metro-tech-011',
  operator: 'metro-tech',
  images: [ 'http://imagesrc.png' ],
  direction: 'north',
  location: {
    type: 'Point',
    coordinates: [
      -74.0403131,
      40.7485362
    ]
  },
  meta: {}
}

request
  .post('https://municipal.systems/v1/data/traffic_cameras')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

operator
string

Company or organization running the service

name
string

Name of camera ("CAM_01_SSt_South")

description
string

Description of camera

stream
string

URL of camera live stream

direction
string

Direction camera is facing ("north", "south", "east", "west")

images
array of strings

Image source url

location
object
required

Location of camera

 
meta
object

Any non-standard fields

 
 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Traffic Cameras

 
gethttps://municipal.systems/v1/municipalities/municipalityId/traffic_cameras/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/traffic_cameras/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Transit Station Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

type

String

Yes

Type of station ('bicycle', 'car', 'bus', 'train', 'subway', 'light rail')

name

String

No

Name of station

description

String

No

Description of the station

operator

String

Yes

Operating company or organization

location

GeoJSON Point

Yes

Location of the station

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Transit Stations

 
gethttps://municipal.systems/v1/municipalities/municipalityId/transit_stations
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/transit_cameras')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [{
    "id": "768ff5c865c3db844e5a3c2c7de5113c",
    "sourceId": "hub_2178",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb19",
    "createdAt": "2017-02-22T16:16:45.000Z",
    "updatedAt": "2017-02-22T16:16:45.000Z",
    "images": null,
    "type": "bicycle",
    "operator": "relaybikeshare",
    "name": "AUC Virtual Hub",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-84.41405028104782, 33.74565494301966]
    },
    "meta": {
      "rentalMethods": ["KEY", "APPLEPAY", "ANDROIDPAY", "TRANSITCARD", "ACCOUNTNUMBER", "PHONE"]
    }
  }, {
    "id": "abf48a86d3179213d8c6c33b95d1dbd8",
    "sourceId": "hub_1477",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb19",
    "createdAt": "2017-02-22T16:16:45.000Z",
    "updatedAt": "2017-02-22T16:16:45.000Z",
    "images": null,
    "type": "bicycle",
    "operator": "relaybikeshare",
    "name": "BROAD & MITCHELL",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-84.39338453114033, 33.75160347465388]
    },
    "meta": {
      "rentalMethods": ["KEY", "APPLEPAY", "ANDROIDPAY", "TRANSITCARD", "ACCOUNTNUMBER", "PHONE"]
    }
  }, {
    "id": "1dfa4ebb9330a5f6bd9431e7822ef545",
    "sourceId": "hub_2115",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb19",
    "createdAt": "2017-02-22T16:16:45.000Z",
    "updatedAt": "2017-02-22T16:16:45.000Z",
    "images": null,
    "type": "bicycle",
    "operator": "relaybikeshare",
    "name": "CENTENNIAL OLYMPIC PARK",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-84.39453452825546, 33.760331215618]
    },
    "meta": {
      "rentalMethods": ["KEY", "APPLEPAY", "ANDROIDPAY", "TRANSITCARD", "ACCOUNTNUMBER", "PHONE"]
    }
  }, {
    "id": "066291795fdbdee98469f1c0de79b2e1",
    "sourceId": "hub_1478",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb19",
    "createdAt": "2017-02-22T16:16:45.000Z",
    "updatedAt": "2017-02-22T16:16:45.000Z",
    "images": null,
    "type": "bicycle",
    "operator": "relaybikeshare",
    "name": "CITY HALL",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-84.39089745283127, 33.74842937828157]
    },
    "meta": {
      "rentalMethods": ["KEY", "APPLEPAY", "ANDROIDPAY", "TRANSITCARD", "ACCOUNTNUMBER", "PHONE"]
    }
  }, {
    "id": "770e6e3d9a8b3a733e591400fc05f11c",
    "sourceId": "hub_2124",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb19",
    "createdAt": "2017-02-22T16:16:45.000Z",
    "updatedAt": "2017-02-22T16:16:45.000Z",
    "images": null,
    "type": "bicycle",
    "operator": "relaybikeshare",
    "name": "CIVIC CENTER MARTA",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-84.38775390386581, 33.76482435962964]
    },
    "meta": {
      "rentalMethods": ["KEY", "APPLEPAY", "ANDROIDPAY", "TRANSITCARD", "ACCOUNTNUMBER", "PHONE"]
    }
  }],
  "meta": {
    "results": 5,
    "total": 27
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Transit Station Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/transit_stations/stationId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/transit_stations/00512688e517352c4166d876dca21c63')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  sourceId: 'hub_1476',
  name: 'NELSON ST BRIDGE',
  type: 'bicycle',
  operator: 'relaybikeshare',
  location: {
    type: 'Point',
    coordinates: [-84.39781688153744, 33.75221452907895]
  },
  meta: {
    rentalMethods: ['KEY',
      'APPLEPAY',
      'ANDROIDPAY',
      'TRANSITCARD',
      'ACCOUNTNUMBER',
      'PHONE'
    ]
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

stationId
string
required

Unique ID for the station

 

Create a Transit Station

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/traffic_cameras
import request from 'superagent'

const data = {
  sourceId: 'hub_1476',
  name: 'NELSON ST BRIDGE',
  type: 'bicycle',
  operator: 'relaybikeshare',
  location: {
    type: 'Point',
    coordinates: [-84.39781688153744, 33.75221452907895]
  },
  meta: {
    rentalMethods: ['KEY',
      'APPLEPAY',
      'ANDROIDPAY',
      'TRANSITCARD',
      'ACCOUNTNUMBER',
      'PHONE'
    ]
  }
}


request
  .post('https://municipal.systems/v1/data/transit_stations')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

operator
string
required

Identifier for the operator of the service ("metrotech", etc.)

name
string

Name of station

description
string

Description of camera

type
string
required

Type of station ('bicycle', 'car', 'bus', 'train', 'subway', 'light rail')

location
object
required

Location of camera

 
meta
object

Any non-standard fields

 
 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Transit Stations

 
gethttps://municipal.systems/v1/municipalities/municipalityId/transit_stations/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/transit_stations/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Light Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

sourceId

Unique String

Yes

Unique identifier for the data from the source

issues

Array of Strings

No

Issues with the light

name

String

No

Name of light

description

String

No

Description of the light

accessories

Array of Strings

No

Any accessories or devices attached to a light

control

String

No

Type of light control, ("photocell", "timer")

location

GeoJSON Point

Yes

Location of the light

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Lights

 
gethttps://municipal.systems/v1/municipalities/municipalityId/lights
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/lights')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [{
    "id": "b9ea10b44965311578b5f21d6c4344d7",
    "sourceId": "0e2800c8-0d27-4c77-bb45-4fecbcba0ccf",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb24",
    "createdAt": "2017-02-22T16:38:42.000Z",
    "updatedAt": "2017-02-22T16:38:42.000Z",
    "images": ["https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/5/attachments/1", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/5/attachments/2"],
    "issues": [null],
    "name": "Cobrahead",
    "description": "400 Watt",
    "accessories": ["Handhold, mast arm, ped heads"],
    "control": "Lighting Controller",
    "location": {
      "type": "Point",
      "coordinates": [-84.3885107556141, 33.7501668633372]
    },
    "meta": {
      "width": 12,
      "height": null,
      "source": "HPS",
      "tapered": "Yes",
      "manufacturer": null,
      "locationCategory": "Commercial"
    }
  }, {
    "id": "e2de487c5373aea9036a44ac0753c1b9",
    "sourceId": "398b7461-d36d-4c23-a186-589f0444be9b",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb24",
    "createdAt": "2017-02-22T16:38:46.000Z",
    "updatedAt": "2017-02-22T16:38:46.000Z",
    "images": ["https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/8/attachments/9", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/8/attachments/10", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/8/attachments/11", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/8/attachments/12"],
    "issues": [null],
    "name": "Cobrahead",
    "description": "400 Watt",
    "accessories": [null],
    "control": "Lighting Controller",
    "location": {
      "type": "Point",
      "coordinates": [-84.3876651326523, 33.7497154417958]
    },
    "meta": {
      "width": 8,
      "height": null,
      "source": "HPS",
      "tapered": "Yes",
      "manufacturer": null,
      "locationCategory": "Commercial"
    }
  }, {
    "id": "4f20a462d8eb5e80eab79010a8bec194",
    "sourceId": "4c2765dd-3300-4d3f-9a59-4bbd07f58f0e",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb24",
    "createdAt": "2017-02-22T16:38:43.000Z",
    "updatedAt": "2017-02-22T16:38:43.000Z",
    "images": ["https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/6/attachments/3", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/6/attachments/4", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/6/attachments/5"],
    "issues": [null],
    "name": "Cobrahead",
    "description": "400 Watt",
    "accessories": ["Handhold, ped heads, missing access panel"],
    "control": "Lighting Controller",
    "location": {
      "type": "Point",
      "coordinates": [-84.388316846005, 33.750060274062]
    },
    "meta": {
      "width": 12,
      "height": null,
      "source": "HPS",
      "tapered": "Yes",
      "manufacturer": null,
      "locationCategory": "Commercial"
    }
  }, {
    "id": "1140c12c69917ee91426ea3ba08d0888",
    "sourceId": "8173751a-d9ef-45b3-9c45-c104834123f1",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb24",
    "createdAt": "2017-02-22T16:38:45.000Z",
    "updatedAt": "2017-02-22T16:38:45.000Z",
    "images": ["https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/7/attachments/6", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/7/attachments/7", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/7/attachments/8"],
    "issues": [null],
    "name": "Cobrahead",
    "description": "400 Watt",
    "accessories": ["Mounted sign"],
    "control": "Lighting Controller",
    "location": {
      "type": "Point",
      "coordinates": [-84.3878918796748, 33.7498279345564]
    },
    "meta": {
      "width": 8,
      "height": null,
      "source": "HPS",
      "tapered": "Yes",
      "manufacturer": null,
      "locationCategory": "Commercial"
    }
  }, {
    "id": "163ac1ac86ff2c0e435cda3ab4b2d627",
    "sourceId": "af9911d5-3a56-4fea-a82d-8fb93a744b47",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb24",
    "createdAt": "2017-02-22T16:38:49.000Z",
    "updatedAt": "2017-02-22T16:38:49.000Z",
    "images": ["https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/11/attachments/21", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/11/attachments/22", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/11/attachments/23"],
    "issues": [null],
    "name": "Cobrahead",
    "description": "400 Watt",
    "accessories": ["Electrical Span"],
    "control": "Lighting Controller",
    "location": {
      "type": "Point",
      "coordinates": [-84.3870413855855, 33.7493094376296]
    },
    "meta": {
      "width": 8,
      "height": null,
      "source": "HPS",
      "tapered": "Yes",
      "manufacturer": null,
      "locationCategory": "Commercial"
    }
  }],
  "meta": {
    "results": 5,
    "total": 7
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Light Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/lights/lightId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/lights/00512688e517352c4166d876dca21c63')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "b9ea10b44965311578b5f21d6c4344d7",
  "sourceId": "0e2800c8-0d27-4c77-bb45-4fecbcba0ccf",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb24",
  "createdAt": "2017-02-22T16:38:42.000Z",
  "updatedAt": "2017-02-22T16:38:42.000Z",
  "images": ["https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/5/attachments/1", "https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/5/attachments/2"],
  "issues": [null],
  "name": "Cobrahead",
  "description": "400 Watt",
  "accessories": ["Handhold, mast arm, ped heads"],
  "control": "Lighting Controller",
  "location": {
    "type": "Point",
    "coordinates": [-84.3885107556141, 33.7501668633372]
  },
  "meta": {
    "width": 12,
    "height": null,
    "source": "HPS",
    "tapered": "Yes",
    "manufacturer": null,
    "locationCategory": "Commercial"
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

lightId
string
required

Unique ID for the light

 

Create a Light

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/lights
import request from 'superagent'

const data = {
  sourceId: '0e2800c8-0d27-4c77-bb45-4fecbcba0ccf',
  location: {
    type: 'Point',
    coordinates: [-84.3885107556141, 33.7501668633372]
  },
  issues: [undefined],
  control: 'Lighting Controller',
  name: 'Cobrahead',
  accessories: ['Handhold, mast arm, ped heads'],
  description: '400 Watt',
  images: ['https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/5/attachments/1',
    'https://services1.arcgis.com/QwlBo7rok8anXWDT/arcgis/rest/services/Streetlight_Audit_v0_9/FeatureServer/0/5/attachments/2'
  ],
  meta: {
    source: 'HPS',
    manufacturer: null,
    height: null,
    width: 12,
    tapered: 'Yes',
    locationCategory: 'Commercial'
  }
}


request
  .post('https://municipal.systems/v1/data/lights')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

issues
array of strings

Any issues with the light

name
string

Name of light

description
string

Description of light

accessories
array of strings

Accessories on light ("sign", "banner")

control
string

Control type for light ("photocell", "timer", etc.)

location
object
required

Location of light

 
meta
object

Any non-standard fields

 
 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Lights

 
gethttps://municipal.systems/v1/municipalities/municipalityId/lights/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/lights/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt": "2014-08-31T18:29:00.000Z",
      "arrivedAt": "2014-08-31T19:49:00.000Z",
      "units": ["S702", "CNARSGT"],
      "type": "disorderly conduct",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.08964539, 40.69905853]
    }
  }, {
    "type": "Feature",
    "properties": {
      "id": "c1003a2a4208807190510e9fe2802181",
      "sourceId": "14-191628",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:11:00.000Z",
      "dispatchedAt": "2014-08-31T18:13:00.000Z",
      "arrivedAt": "2014-08-31T19:23:00.000Z",
      "units": ["W202"],
      "type": "burglary residential prop",
      "description": " time elapsed not applicable,  injury not applicable",
      "meta": null
    },
    "geometry": {
      "type": "Point",
      "coordinates": [-74.06852722, 40.72553635]
    }
  }]
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

format
string

The output format to export ("json", "csv", "geojson")

download
boolean

Force downloading instead of streaming data

limit
string

Limit the results (unlimited by default)

 

Mural Properties

 
Field
Type
Required
Description

id

String

No (generated)

Unique identifier generated by municipal.systems

createdAt

Date

No (generated)

Date and time when the record was created by municipal.systems

updatedAt

Date

No (generated)

Date and time when the record was last updated by municipal.systems

startedAt

Date

No

Date and time when the mural was started

completedAt

Date

No

Date and time when the mural was completed

sourceId

Unique String

Yes

Unique identifier for the data from the source

artists

Array of Strings

No

Artists who painted the mural

name

String

Yes

Name of mural

description

String

No

Description of the mural

location

GeoJSON Point

Yes

Location of the light

meta

Object

No

Any non-standard fields

Validation

  • All required fields must be present
  • Locations can't be 0, 0
  • Date sequence must be in order (receivedAt -> acknowledgedAt -> closedAt)

Search Murals

 
gethttps://municipal.systems/v1/municipalities/municipalityId/murals
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/murals')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "results": [{
    "id": "475dcae0509d9bbe13d4ce519c6edf2c",
    "sourceId": "2",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb00",
    "createdAt": "2017-02-22T16:49:50.000Z",
    "updatedAt": "2017-02-22T16:49:50.000Z",
    "images": ["https://www.dropbox.com/s/t1t6nuznihgbmqf/JC_Murals_BlackSheep_PixelPoncho-01.jpg?dl=0"],
    "startedAt": null,
    "completedAt": null,
    "artists": ["pixel pancho"],
    "name": "black sheep",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-74.045098, 40.719947]
    },
    "meta": null
  }, {
    "id": "9e4cc794a15a790268cef23241dc9425",
    "sourceId": "3",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb00",
    "createdAt": "2017-02-22T16:49:50.000Z",
    "updatedAt": "2017-02-22T16:49:50.000Z",
    "images": ["https://www.dropbox.com/s/fx0n4gbiq7deq5b/JC_Murals_Chameleons_PawnEmilio-03.jpg?dl=0"],
    "startedAt": null,
    "completedAt": null,
    "artists": ["pawn and emillio florentine"],
    "name": "chameleons",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-74.081785, 40.698919]
    },
    "meta": null
  }, {
    "id": "28253fb2749b3fdabf4686ab189cf8bb",
    "sourceId": "4",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb00",
    "createdAt": "2017-02-22T16:49:51.000Z",
    "updatedAt": "2017-02-22T16:49:51.000Z",
    "images": ["https://www.dropbox.com/s/y0kql1l60v1r1hv/JC_Murals_CircleofLife_DaveL-05.jpg?dl=0"],
    "startedAt": null,
    "completedAt": null,
    "artists": ["davel"],
    "name": "circle of life",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-74.066814, 40.714955]
    },
    "meta": null
  }, {
    "id": "9944059e74928bd58c7b20e038adf6e2",
    "sourceId": "5",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb00",
    "createdAt": "2017-02-22T16:49:51.000Z",
    "updatedAt": "2017-02-22T16:49:51.000Z",
    "images": ["https://www.dropbox.com/s/80l3yqcsh2u5c2s/JC_Murals_Pollination_Zed-01.jpg?dl=0"],
    "startedAt": null,
    "completedAt": null,
    "artists": ["zed1"],
    "name": "cross pollination",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-74.100559, 40.693765]
    },
    "meta": null
  }, {
    "id": "d00e704ab5cef4171ececc6402f3e055",
    "sourceId": "1",
    "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb00",
    "createdAt": "2017-02-22T16:49:50.000Z",
    "updatedAt": "2017-02-22T16:49:50.000Z",
    "images": ["https://www.dropbox.com/s/a3ni5d2q10ktvao/JC_Murals_AbstractWallDesign_Mustart-01.jpg?dl=0"],
    "startedAt": null,
    "completedAt": null,
    "artists": ["mustart"],
    "name": "100 stairs",
    "description": null,
    "location": {
      "type": "Point",
      "coordinates": [-74.077642, 40.728157]
    },
    "meta": null
  }],
  "meta": {
    "results": 5,
    "total": 73
  }
}

Path Params

municipalityId
string
required

Unique ID for the municipality

Query Params

search
string

Filter by case insensitive search

before
date

Filter results to only those that happened before the given date time.

after
date

Filter results to only those that happened after the given date time.

within
object

Only show results where the geolocation is within the given bounding box

 
orderings
array of objects

Order the results. Direction can be asc or desc.

field
direction
filters
object

Filter the results. Key is the field name, value is a comparator.

 
limit
int32

Limit the number of results

offset
int32

Adjust the offset of the query

 

Mural Lookup

 
gethttps://municipal.systems/v1/municipalities/municipalityId/murals/muralId
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/murals/00512688e517352c4166d876dca21c63')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "id": "475dcae0509d9bbe13d4ce519c6edf2c",
  "sourceId": "2",
  "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb00",
  "createdAt": "2017-02-22T16:49:50.000Z",
  "updatedAt": "2017-02-22T16:49:50.000Z",
  "images": ["https://www.dropbox.com/s/t1t6nuznihgbmqf/JC_Murals_BlackSheep_PixelPoncho-01.jpg?dl=0"],
  "startedAt": null,
  "completedAt": null,
  "artists": ["pixel pancho"],
  "name": "black sheep",
  "description": null,
  "location": {
    "type": "Point",
    "coordinates": [-74.045098, 40.719947]
  },
  "meta": null
}

Path Params

municipalityId
string
required

Unique ID for the municipality

muralId
string
required

Unique ID for the mural

 

Create a Mural

 

Query Auth

 Authentication is required for this endpoint.
posthttps://municipal.systems/v1/data/murals
import request from 'superagent'

const data = {
  sourceId: '1753',
  name: '100 stairs',
  artists: ['mustart'],
  images: ['https://www.dropbox.com/s/a3ni5d2q10ktvao/JC_Murals_AbstractWallDesign_Mustart-01.jpg?dl=0'],
  location: {
    type: 'Point',
    coordinates: [-74.077642, 40.728157]
  }
}


request
  .post('https://municipal.systems/v1/data/murals')
  .query({ key: 'YOUR_PROVIDER_API_KEY' })
  .send(data)
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "success": true
}
{
}

Body Params

sourceId
string
required

Unique identifier for the data from the source

startedAt
date

Date and time mural was started

completedAt
date

Date and time mural was completed

name
string
required

Name of mural

description
string

Description of mural

artists
array of strings

Artists who worked on the mural

location
object
required

Location of mural

 
meta
object

Any non-standard fields

 
 

This endpoint requires a valid API Key for a data source. Don't have one? Follow this guide to get one!

Export Murals

 
gethttps://municipal.systems/v1/municipalities/municipalityId/murals/export?format=format&limit=10
import request from 'superagent'

request
  .get('https://municipal.systems/v1/municipalities/jers-nj/murals/export?format=geojson')
  .end((err, res) => {
    console.log(res.body)
  })
A binary file was returned

You couldn't be authenticated

{
  "type": "FeatureCollection",
  "features": [{
    "type": "Feature",
    "properties": {
      "id": "70a6fa425293c1cc0339a18a733e3a00",
      "sourceId": "14-191632",
      "providerId": "8bb3fe61-3f7a-480e-8817-efe73a1bcb02",
      "createdAt": "2017-02-24T20:50:07.000Z",
      "updatedAt": "2017-02-24T20:50:07.000Z",
      "images": null,
      "receivedAt": "2014-08-31T18:27:00.000Z",
      "dispatchedAt":