Skip to main content

Instructions for Municipalities Filing a Permit Using Application Programming Interface (API) (Option 3 Reporting Method)

IT third party systems like “IWorq” or “InspectWIz” can connect to the Wisconsin Department of Safety and Professional Services (DSPS) eSLA system for purposes of reporting issuance of UDC permits by using a Web Service.  This method allows setting up an electronic transfer of permit data between IT systems.  Below is the Web Services Description Language (WSDL) for the eSLA System.

Web Services Description Language (WSDL):

For the most up to date WSDL please click HERE. From the linked documentation, you can reference the availability of the web method “Submit:”

string Submit(string muniAccessKey, string permitData)

This web method takes two input parameters of literal/string data types and returns value of literal/string data type. Sample WSDL below.

<?xml version="1.0" encoding="UTF-8"?>

<!--File PermitUploaderFull.wsdl, application eSLA_API_ACT211-->

<wsdl:definitions name="PermitUploader" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:tns="http://tempuri.org/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><wsdl:documentation><wsdl:appinfo source="WMQI_APPINFO"><MRWSDLAppInfo imported="true"><generatedXSD location="PermitUploaderFull_InlineSchema1.xsd"/><generatedXSD location="PermitUploaderFull_InlineSchema2.xsd"/><binding name="BasicHttpBinding_IPermitUploader" imported="true" originalBindingStyle="document" hasEncoding="false"/></MRWSDLAppInfo></wsdl:appinfo></wsdl:documentation><wsdl:types><xs:schema targetNamespace="http://tempuri.org/" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><xsd:include schemaLocation="https://dsps-act211permit-papi.us-e2.cloudhub.io/PermitUploader/BasicHttpBinding_IPermitUploader?wsdl"/></xs:schema><xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified"><xsd:include schemaLocation="https://dsps-act211permit-papi-uat.us-e2.cloudhub.io/PermitUploader/BasicHttpBinding_IPermitUploader?wsdl?xsd=xsd1"/></xs:schema></wsdl:types><wsdl:message name="IPermitUploader_Submit_InputMessage"><wsdl:part name="parameters" element="tns:Submit"/></wsdl:message><wsdl:message name="IPermitUploader_Submit_OutputMessage"><wsdl:part name="parameters" element="tns:SubmitResponse"/></wsdl:message><wsdl:portType name="IPermitUploader"><wsdl:operation name="Submit"><wsdl:input wsaw:Action="http://tempuri.org/IPermitUploader/Submit" message="tns:IPermitUploader_Submit_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IPermitUploader/SubmitResponse" message="tns:IPermitUploader_Submit_OutputMessage"/></wsdl:operation></wsdl:portType><wsdl:binding type="tns:IPermitUploader" name="BasicHttpBinding_IPermitUploader"><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="Submit"><soap:operation style="document" soapAction="http://tempuri.org/IPermitUploader/Submit"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="PermitUploader"><wsdl:port name="BasicHttpBinding_IPermitUploader" binding="tns:BasicHttpBinding_IPermitUploader"><soap:address location="https://dsps-act211permit-papi.us-e2.cloudhub.io/PermitUploader/BasicHttpBinding_IPermitUploader?wsdl"/></wsdl:port></wsdl:service></wsdl:definitions>

NOTE: Per the W3C, the ampersand character (&) and the left angle bracket (<) must not appear in their literal form (except when used as markup delimiters) or within a comment, a processing instruction, or a CDATA section. If they are needed elsewhere, they must be escaped using either numeric character references or the strings " &amp; " and " &lt; " respectively. The right angle bracket (>) may be represented using the string " &gt; ", and must, for compatibility, be escaped using either " &gt; " or a character reference when it appears in the string " ]]> " in content, when that string is not marking the end of a CDATA section.

Input Parameters

  • All Date related fields should be formatted in a common date format: mm/dd/yyyy

  • If the Master Electrician credential information is for a Registered Master Electrician, use expiration date: 4/4/4000. Do not use the 4/4/4444 expiration date.

  • All Email related fields should be formatted in a common email format (i.e. email@email.com). If no e-mail is available, enter: na@email.com.

  • Do not use “N/A” for any required field denoted with (*).

  • MuniAccessKey is a unique identifier and will be given to the municipality upon finishing the onboarding process with DSPS.

  • PermitData is a “|” piped delimited literal/string of permit record. The following are the expected columns in the specified order (The fields in Red marked with (*) are required in a permit upload attempt):

Number

Field

1

Application No.

2

Parcel No.

3

Permit Requested (1=Constr, 2=HVAC, 3=Electric, 4=Plumbing) (*)

4

Owner's Name (*)

5

Owner's Street Address (*)

6

Owner's City (*)

7

Owner's Zip Code (*)

8

Owner's Email (*)

9

Owner's Telephone No. (Format: xxx-xxx-xxxx) (*)

10

Dwelling Contractor's Name (*)

11

Dwelling Contractor's License/Certification No. (*)

12

Dwelling Contractor's License/Certification No. Exp Date (Format: mm/dd/yyyy) (*)

13

Dwelling Contractor's Street Address (*)

14

Dwelling Contractor's City (*)

15

Dwelling Contractor's Zip code (*)

16

Dwelling Contractor's Telephone No. (Format: xxx-xxx-xxxx) (*)

17

Dwelling Contractor's Email (*)

18

Dwelling Contractor's Qualifier Name (*)

19

Dwelling Contractor Qualifier's License/Certification No. (*)

20

Dwelling Contractor Qualifier's License/Certification No. Exp Date (Format: mm/dd/yyyy) (*)

21

Dwelling Contractor Qualifier City (*)

22

Dwelling Contractor Qualifier Zip code (*)

23

Dwelling Contractor Qualifier Telephone No. (Format: xxx-xxx-xxxx) (*)

24

Dwelling Contractor Qualifier Email (*)

25

HVAC Name

26

HVAC License/Certification No.

27

HVAC License/Certification Exp Date (Format: mm/dd/yyyy)

28

HVAC Street Address

29

HVAC City

30

HVAC Zip code

31

HVAC Telephone No. (Format: xxx-xxx-xxxx)

32

HVAC Email

33

Electrical Name (*)

34

Electrical License/Certification No. (*)

35

Electrical License/Certification No. Exp Date (Format: mm/dd/yyyy) (*)

36

Electrical Street Address (*)

37

Electrical City (*)

38

Electrical Zip code (*)

39

Electrical Telephone No. (Format: xxx-xxx-xxxx) (*)

40

Electrical Email (*)

41

Master Electrician Name (*)

42

Master Electrician License/Certification No. (*)

43

Master Electrician License Expiration Date (Format: mm/dd/yyyy) (*)

44

Master Electrician Street Address (*)

45

Master Electrician City (*)

46

Master Electrician Zip code (5 digits) (*)

47

Master Electrician Telephone No. (Format: xxx-xxx-xxxx) (*)

48

Master Electrician Email (*)

49

Plumbing Name (*)

50

Plumbing License/Certification No. (*)

51

Plumbing License/Certification No. Exp Date (Format: mm/dd/yyyy) (*)

52

Plumbing Street Address (*)

53

Plumbing City (*)

54

Plumbing Zip code (*)

55

Plumbing Telephone No. (Format: xxx-xxx-xxxx) (*)

56

Plumbing Email (*)

57

Project Location Lot Area (Sq. ft.) (Only numbers allowed)

58

One acre or more of soil will be disturbed (0=No, 1=Yes)

59

Town/Village/City (1=Town, 2=Village, 3=City) TYPE (*)

60

Town/Village/City NAME (*)

61

1/4, 1/4, of Section , TN, R_E/W

62

Building Street Address

63

Building City

64

Building Zip code

65

County

66

Subdivision Name

67

Lot No.

68

Block. No

69

Zoning District(s)

70

Zoning Permit No.

71

Setbacks: Front (ft.)

72

Setbacks: Rear (ft.)

73

Setbacks: Left (ft.)

74

Setbacks: Right (ft.)

75

Project (1=New, 2=Alteration, 3=Addition, 4=Repair, 5=Raze, 6=Move) (if New (1), no other project should be entered)(*)

76

Unfin. Bsmt Unit 1

77

Unfin. Bsmt Unit 2

78

Unfin. Bsmt Total

79

Living Area Unit 1

80

Living Area Unit 2

81

Living Area Total

82

Garage Unit 1

83

Garage Unit 2

84

Garage Total

85

Deck/Porch Unit 1

86

Deck/Porch Unit 2

87

Deck/Porch Total

88

Totals Unit 1

89

Totals Unit 2

90

Totals All

91

Occupancy (1=Single Family, 2=Two Family, 3=Garage, 4=Other)

92

Construction Type (1=Site Built, 2=Mfd. Per WI UDC, 3=Mfd. Per US HUD)

93

Stories (1=1-Story, 2=2-Story, 3=Plus Basement, 4=Other)

94

Electric Panel Amps

95

Electric (1=Underground, 2=Overhead)

96

Walls (1=Wood Frame, 2=Steel, 3=ICF, 4=Timber/Pole, 5=Other)

97

Use (1=Seasonal, 2=Permanent, 3=Other)

98

HVAC Equipment (1=Furnace, 2=Radiant Basebd, 3=Heat Pump, 4=Boiler, 5=Central AC, 6=Fireplace, 7=Other)

99

Sewer (1=Municipal, 2=Sanitary Permit)

100

Sanitary Permit Number

101

Water(1=Municipal, 2=On-Site Well)

102

Nat Gas Space Htg (Yes or No)

103

Nat Gas Water Htg  (Yes or No)

104

LP Space Htg (Yes or No)

105

LP Water Htg (Yes or No)

106

Oil Space Htg (Yes or No)

107

Oil Water Htg (Yes or No)

108

Electric Space Htg (Yes or No)

109

Electric Water Htg (Yes or No)

110

Solid Space Htg (Yes or No)

111

Solid Water Htg (Yes or No)

112

Solar Geo Space Htg (Yes or No)

113

Solar Geo Water Htg (Yes or No)

114

Heat Loss (BTU/HR Total Calculated) (Only numbers allowed)

115

Est. Building Cost without Land ($) (Only numbers allowed)

116

Applicant Name (*)

117

Applicant Sign Date

118

Applicant is Owner-Occupier (0=No, 1=Yes)

119

Approval Condition Remark

120

Issuing Jurisdiction: Town/Village/City/County/State (1=Town, 2=Village, 3=City, 4=County, 5=State) TYPE (*)

121

Issuing Jurisdiction: Town/Village/City/County/State NAME (*)

122

State-Contracted Inspection Agency#:

123

Municipality Number of Dwelling Location (*)

124

Plan Review Fee ($)

125

Inspection Fee ($)

126

WI Permit Seal Fee ($)

127

Other Fee ($)

128

Total Fees ($)

129

Permits Issued (1=Construction, 2=HVAC, 3=Electrical, 4=Plumbing, 5=Erosion Control)

130

WI Permit Seal Number (Only numbers allowed)(*)

131

Permit Issued By: Name (*)

132

Permit Issued By: Date (Format mm-dd-yyyy) (*)

133

Permit Issued By: Telephone (Format: xxx-xxx-xxxx)

134

Permit Issued By: Certificate No.

135

Building Permit Number

Validation Messages

Reason

Validation Message

Success message

Permit Uploaded with Code: DIS-0000000

Captured during validation

Permit Type is required

Captured during validation

Permit Type option 5 or 6 and Project Type option 7 are not allowed

Captured during validation

Project Location Type and/or Name are required

Captured during validation

Missing Permit Issuer Name and/or Date

Captured during validation

Permit Issue Date has to be after Nov 2016

Captured during validation

Permit Issue Date cannot be in the future

Captured during validation

Missing Wisconsin Permit Seal Number

Captured during validation

Dwelling Contractor and Dwelling Contractor Qualifier information is required (Unless Applicant is Owner-Occupier)

Captured during validation

Owner information required

Captured during validation

Applicant Name required

Captured during validation

Municipality Not Found

Captured during validation

Municipality Number of Dwelling Location does not match

Captured during validation

Municipality account type not authorized

Captured during validation

Plumbing Contractor information is required (if Plumbing Permit is Requested)

Captured during validation

Electrical Contractor and Master Electrician information is required (if Electrical Permit is Requested and Project Type is New)

Captured during validation

Incorrect date format provided

Captured during validation

Missing mandatory information

Integration execution issue / Unhandled exception

Integration failed to retrieve the failure error, please contact the administrator for more details

Output Parameter

Return Value is a “|” piped delimited literal/string indicating either a successful or failed transaction along with the details. In the case of:

  • Failed transfer attempt, “false” value in the first column is returned along with the detail message within the second column.

  • Successful transfer attempt, “true” value in the first column is returned along with the detail message within the second column.

Production Setup

For a production setup, an onboarding step is required with DSPS staff. Please contact the agency at DSPSSBUDCTech@wisconsin.gov and receive the MuniAccessKey for production environment.

Service URL:

https://dsps-act211permit-papi.us-e2.cloudhub.io/PermitUploader/BasicHttpBinding_IPermitUploader?wsdl

Municipal Login URL:

https://esla.wi.gov/apex/municipalityloginportal

Verifying the Data Transfer

  1. After submitting and approving/denying applications within your permitting system, login to the eSLA site.

  2. In the Municipality Workspace, select municipality and enter assigned access code.

  3. Add filters, otherwise select Search to search all permits. You should then see your submitted permits on this page.

  4. Click Manage Permits link to view a permit’s specific information.

  5. Verify permit information has been properly uploaded.

Return to eSLA Information Page
Back to top button