src/api.json
{
"swagger": "2.0",
"info": {
"description": "This page is for developers. We built this site entirely off the APIs below and we want to share them with you.",
"version": "1.0.1",
"title": "API Documentation for Developers"
},
"tags": [
{
"name": " ",
"description": "Forest Service ePermit API"
}
],
"securityDefinitions": {
"access_token": {
"type": "apiKey",
"name": "accessToken",
"in": "header"
}
},
"paths": {
"/auth": {
"post": {
"tags": [
"Authorization Request"
],
"summary": "Authorization Request",
"description": "",
"consumes": [
"application/x-www-form-urlencoded",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "username",
"in": "formData",
"description": "Username",
"required": true,
"type": "string"
},
{
"name": "password",
"in": "formData",
"description": "Password",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/permits/applications/special-uses/noncommercial/{controlNumber}/": {
"get": {
"x-mockOutput":"test/data/basicGET.json",
"x-getTemplate":{
"controlNumber":{"default":"", "intake":"accinstCn"},
"region": {"default":"", "intake":"middleLayer/region"},
"forest": {"default":"", "intake":"middleLayer/forest"},
"district": {"default":"", "intake":"middleLayer/district"},
"authorizingOfficerName": {"default":"", "intake":"authOfficerName"},
"authorizingOfficerTitle": {"default":"", "intake":"authOfficerTitle"},
"adminOrg": {"default":"", "intake":"adminOrg"},
"applicantInfo": {
"contactControlNumber":{"default":"", "intake":"addresses/contCn"},
"firstName": {"default":"", "intake":"firstName"},
"lastName": {"default":"", "intake":"lastName"},
"dayPhone": {
"areaCode": {"default":0, "intake":"phones/areaCode"},
"number": {"default":0, "intake":"phones/phoneNumber"},
"extension": {"default":"", "intake":"phones/extension"},
"phoneType": {"default":"", "intake":"phones/phoneNumberType"}
},
"eveningPhone": {
"areaCode": {"default":0, "intake":"phones/areaCode"},
"number": {"default":0, "intake":"phones/phoneNumber"},
"extension": {"default":"", "intake":"phones/extension"},
"phoneType": {"default":"", "intake":"phones/phoneNumberType"}
},
"emailAddress": {"default":"", "intake":"addresses/email"},
"mailingAddress": {"default":"", "intake":"addresses/address1"},
"mailingAddress2": {"default":"", "intake":"addresses/address2"},
"mailingCity": {"default":"", "intake":"addresses/cityName"},
"mailingState": {"default":"", "intake":"addresses/stateCode"},
"mailingZIP": {"default":"", "intake":"addresses/postalCode"},
"organizationName": {"default":"", "intake":"addresses/contName"},
"website": {"default":"", "intake":"middleLayer/website"},
"orgType": {"default":"", "intake":"orgType"}
},
"noncommercialFields": {
"activityDescription": {"default":"", "intake":"middleLayer/activityDescription"},
"locationDescription": {"default":"", "intake":"middleLayer/locationDescription"},
"startDateTime": {"default":"", "intake":"middleLayer/startDatetime"},
"endDateTime": {"default":"", "intake":"middleLayer/endDatetime"},
"numberParticipants": {"default":0, "intake":"middleLayer/numberParticipants"},
"numberSpectators": {"default":0, "intake":"middleLayer/numberSpectators"}
}
},
"tags": [
"Noncommercial Permit"
],
"summary": "Find noncommercial permit by ID",
"description": "Returns a single permit",
"produces": [
"application/json"
],
"parameters": [
{
"name": "controlNumber",
"in": "path",
"description": "ID of noncommercial permit to return",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "x-access-token",
"in": "header",
"description": "access token",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/noncommercialPermitGet"
}
},
"400": {
"description": "Invalid ID supplied"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Permit not found"
}
}
}
},
"/permits/applications/special-uses/noncommercial/": {
"post": {
"x-validation":"controllers/validation.json#noncommercialApplication",
"tags": [
"Noncommercial Permit"
],
"summary": "Submit a new noncommercial permit",
"description": "",
"operationId": "createPermit",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "noncommercial permit information",
"required": true,
"schema": {
"$ref": "#/definitions/noncommercialPermit"
}
},
{
"name": "x-access-token",
"in": "header",
"description": "access token",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
},
"400": {
"description": "Invalid input"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/permits/applications/special-uses/commercial/temp-outfitters/{controlNumber}/": {
"get": {
"x-mockOutput":"test/data/basicGET.json",
"x-getTemplate":{
"controlNumber":{"default":"", "intake":"accinstCn"},
"region": {"default":"", "intake":"middleLayer/region"},
"forest": {"default":"", "intake":"middleLayer/forest"},
"district": {"default":"", "intake":"middleLayer/district"},
"authorizingOfficerName": {"default":"", "intake":"authOfficerName"},
"authorizingOfficerTitle": {"default":"", "intake":"authOfficerTitle"},
"adminOrg": {"default":"", "intake":"adminOrg"},
"applicantInfo": {
"contactControlNumber":{"default":"", "intake":"addresses/contCn"},
"firstName": {"default":"", "intake":"firstName"},
"lastName": {"default":"", "intake":"lastName"},
"dayPhone": {
"areaCode": {"default":0, "intake":"phones/areaCode"},
"number": {"default":0, "intake":"phones/phoneNumber"},
"extension": {"default":0, "intake":"phones/extension"},
"phoneType": {"default":"", "intake":"phones/phoneNumberType"}
},
"eveningPhone": {
"areaCode": {"default":0, "intake":"phones/areaCode"},
"number": {"default":0, "intake":"phones/phoneNumber"},
"extension": {"default":0, "intake":"phones/extension"},
"phoneType": {"default":"", "intake":"phones/phoneNumberType"}
},
"emailAddress": {"default":"", "intake":"addresses/email"},
"mailingAddress": {"default":"", "intake":"addresses/address1"},
"mailingAddress2": {"default":"", "intake":"addresses/address2"},
"mailingCity": {"default":"", "intake":"addresses/cityName"},
"mailingState": {"default":"", "intake":"addresses/stateCode"},
"mailingZIP": {"default":0, "intake":"addresses/postalCode"},
"organizationName": {"default":"", "intake":"addresses/contName"},
"website": {"default":"", "intake":"middleLayer/website"},
"orgType": {"default":"", "intake":"orgType"}
},
"tempOutfitterFields": {
"individualIsCitizen": {"default":false, "intake":"middleLayer/individualIsCitizen"},
"smallBusiness": {"default":false, "intake":"middleLayer/smallBusiness"},
"activityDescription": {"default":"", "intake":"middleLayer/activityDescription"},
"advertisingURL": {"default":"", "intake":"middleLayer/advertisingUrl"},
"advertisingDescription":{"default":"", "intake":"middleLayer/advertisingDescription"},
"clientCharges":{"default":"", "intake":"middleLayer/clientCharges"},
"experienceList":{"default":"", "intake":"middleLayer/experienceList"},
"guideDocumentation": {"default":"", "intake":"middleLayer/guideDocumentation"},
"acknowledgementOfRiskForm": {"default":"", "intake":"middleLayer/acknowledgementOfRiskForm"},
"insuranceCertificate": {"default":"", "intake":"middleLayer/insuranceCertificate"},
"goodStandingEvidence": {"default":"", "intake":"middleLayer/goodStandingEvidence"},
"operatingPlan": {"default":"", "intake":"middleLayer/operatingPlan"}
}
},
"tags": [
"Outfitter and Guide Permit"
],
"summary": "Find temp-outfitter permit by ID",
"description": "Returns a single permit",
"produces": [
"application/json"
],
"parameters": [
{
"name": "controlNumber",
"in": "path",
"description": "ID of temp-outfitter permit to return",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "x-access-token",
"in": "header",
"description": "access token",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/tempOutfitterPermitGet"
}
},
"400": {
"description": "Invalid ID supplied"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Permit not found"
}
}
}
},
"/permits/applications/special-uses/commercial/temp-outfitters/{controlNumber}/files/": {
"get": {
"tags": [
"Outfitter and Guide Permit"
],
"summary": "Get files in zip format of Outfitter and Guide Permit",
"description": "",
"consumes": [
"application/json"
],
"produces": [
"application/zip"
],
"parameters": [
{
"name": "controlNumber",
"in": "path",
"description": "Control Number of temp-outfitter permit",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "x-access-token",
"in": "header",
"description": "access token",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "file"
}
},
"400": {
"description": "Invalid controlNumber supplied"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Permit not found"
}
}
}
},
"/permits/applications/special-uses/commercial/temp-outfitters/{controlNumber}/files/{fileName}": {
"get": {
"tags": [
"Outfitter and Guide Permit"
],
"summary": "Get files of Outfitter and Guide Permit",
"description": "",
"consumes": [
"application/json"
],
"produces": [
"application/json",
"application/pdf",
"text/rtf",
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"application/octet-stream"
],
"parameters": [
{
"name": "controlNumber",
"in": "path",
"description": "Control Number of temp-outfitter permit",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "fileName",
"in": "path",
"description": "File Name",
"required": true,
"type": "string"
},
{
"name": "x-access-token",
"in": "header",
"description": "access token",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "file"
}
},
"400": {
"description": "Invalid controlNumber or fileName supplied"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Permit or File not found"
}
}
}
},
"/permits/applications/special-uses/commercial/temp-outfitters/": {
"post": {
"x-validation":"controllers/validation.json#tempOutfitterApplication",
"tags": [
"Outfitter and Guide Permit"
],
"summary": "Submit a new temp-outfitter permit",
"description": "",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "formData",
"name": "body",
"description": "temp-outfitter permit information",
"schema": {
"$ref": "#/definitions/tempOutfitterPermit"
},
"type":"string",
"required": true
},
{
"in": "formData",
"name": "guideDocumentation",
"description": "temp-outfitter guideDocumentation file upload",
"type": "file"
},
{
"in": "formData",
"name": "acknowledgementOfRiskForm",
"description": "temp-outfitter acknowledgementOfRiskForm file upload",
"type": "file"
},
{
"in": "formData",
"name": "insuranceCertificate",
"description": "temp-outfitter insuranceCertificate file upload",
"required": true,
"type": "file"
},
{
"in": "formData",
"name": "goodStandingEvidence",
"description": "temp-outfitter goodStandingEvidence file upload",
"required": true,
"type": "file"
},
{
"in": "formData",
"name": "operatingPlan",
"description": "temp-outfitter operatingPlan file upload",
"required": true,
"type": "file"
},
{
"name": "x-access-token",
"in": "header",
"description": "access token",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success"
},
"400": {
"description": "Invalid input"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
}
}
}
}
},
"definitions": {
"applicantInfoNoncommercial": {
"type": "object",
"properties": {
"firstName": { "type": "string" },
"lastName": { "type": "string" },
"dayPhone": { "$ref": "#/definitions/phoneNumber" },
"eveningPhone": { "$ref": "#/definitions/phoneNumber" },
"emailAddress": { "type": "string" },
"mailingAddress": { "type": "string" },
"mailingAddress2": { "type": "string" },
"mailingCity": { "type": "string" },
"mailingState": { "type": "string" },
"mailingZIP": { "type": "string" },
"organizationName": { "type": "string"},
"website":{"type": "string"},
"orgType":{
"type":"string",
"enum":[
"Association",
"Corporation",
"Education",
"Federal Government",
"State Government",
"Local Govt",
"Married Common Property",
"Limited Liability Company (LLC)",
"Limited Liability Partnership (LLP)",
"Person",
"Trust"
]
}
},
"required": ["firstName","lastName","dayPhone","emailAddress","mailingAddress","mailingCity","mailingZIP","mailingState"],
"xml": {
"name": "applicantInfoNoncommercial"
}
},
"applicantInfoTempOutfitter": {
"type": "object",
"properties": {
"firstName": { "type": "string" },
"lastName": { "type": "string" },
"dayPhone": { "$ref": "#/definitions/phoneNumber" },
"eveningPhone": { "$ref": "#/definitions/phoneNumber" },
"emailAddress": { "type": "string" },
"mailingAddress": { "type": "string" },
"mailingAddress2": { "type": "string" },
"mailingCity": { "type": "string" },
"mailingState": { "type": "string" },
"mailingZIP": { "type": "string" },
"organizationName": { "type": "string" },
"website":{"type": "string"},
"orgType":{
"type":"string",
"description":"Organization Type",
"enum":[
"Association",
"Corporation",
"Education",
"Federal Government",
"State Government",
"Local Govt",
"Married Common Property",
"Limited Liability Company (LLC)",
"Limited Liability Partnership (LLP)",
"Person",
"Trust"
]
}
},
"required": ["firstName","lastName","dayPhone","emailAddress","mailingAddress","mailingCity","mailingZIP","mailingState","orgType"],
"xml": {
"name": "applicantInfoTempOutfitter"
}
},
"phoneNumber": {
"type": "object",
"properties": {
"areaCode": { "type": "integer"},
"number": { "type": "integer"},
"extension": { "type": "string"},
"phoneType": {"type": "string"}
},
"required": ["areaCode","number","phoneType"],
"xml": {
"name": "phoneNumber"
}
},
"noncommercialFields": {
"type": "object",
"properties": {
"activityDescription": { "type": "string"},
"locationDescription": { "type": "string"},
"startDateTime": { "type": "string"},
"endDateTime": { "type": "string"},
"numberParticipants" : { "type": "integer"},
"numberSpectators" : { "type": "integer"}
},
"required": ["activityDescription","locationDescription","startDateTime","endDateTime","numberParticipants"],
"xml": {
"name": "noncommercialFields"
}
},
"tempOutfitterFields": {
"type": "object",
"properties": {
"individualIsCitizen": {"type":"boolean"},
"smallBusiness": {"type":"boolean"},
"activityDescription": { "type": "string"},
"advertisingURL": { "type": "string"},
"advertisingDescription": { "type": "string"},
"clientCharges": { "type": "string"},
"experienceList": { "type": "string"}
},
"required": ["activityDescription","clientCharges","insuranceCertificate","goodStandingEvidence","operatingPlan"],
"xml": {
"name": "tempOutfitterFields"
}
},
"noncommercialPermit": {
"type": "object",
"properties": {
"region": { "type" : "string" },
"forest": { "type" : "string" },
"district": { "type" : "string" },
"authorizingOfficerName": { "type" : "string" },
"authorizingOfficerTitle": { "type" : "string" },
"applicantInfo": {
"$ref": "#/definitions/applicantInfoNoncommercial"
},
"type": {
"type": "string",
"enum":[
"noncommercial",
"tempOutfitters"
],
"default": "noncommercial"
},
"noncommercialFields": {
"$ref": "#/definitions/noncommercialFields"
}
},
"required": ["region","forest","district","applicantInfo","type","noncommercialFields"],
"xml": {
"name": "noncommercialPermit"
}
},
"noncommercialPermitGet": {
"type": "object",
"properties": {
"controlNumber": {"type": "integer"},
"region": { "type" : "string" },
"forest": { "type" : "string" },
"district": { "type" : "string" },
"authorizingOfficerName": { "type" : "string"},
"authorizingOfficerTitle": { "type" : "string"},
"applicantInfo": {
"$ref": "#/definitions/applicantInfoNoncommercial"
},
"type": {
"type": "string",
"default": "noncommercial",
"enum":[
"noncommercial"
]
},
"noncommercialFields": {
"$ref": "#/definitions/noncommercialFields"
}
},
"required": ["controlNumber","region","forest","district","applicantInfo","type","noncommercialFields"],
"xml": {
"name": "noncommercialPermitGet"
}
},
"tempOutfitterPermit": {
"type": "object",
"properties": {
"region": { "type" : "string" },
"forest": { "type" : "string" },
"district": { "type" : "string" },
"authorizingOfficerName": { "type" : "string"},
"authorizingOfficerTitle": { "type" : "string"},
"applicantInfo": {
"$ref": "#/definitions/applicantInfoTempOutfitter"
},
"type": {
"type": "string",
"enum":[
"tempOutfitters",
"noncommercial"
],
"default": "tempOutfitters"
},
"tempOutfitterFields": {
"$ref": "#/definitions/tempOutfitterFields"
}
},
"required": ["region","forest","district","applicantInfo","type","tempOutfitterFields"],
"xml": {
"name": "tempOutfitterPermit"
}
},
"tempOutfitterPermitGet": {
"type": "object",
"properties": {
"controlNumber": { "type": "integer"},
"region": { "type" : "string" },
"forest": { "type" : "string" },
"district": { "type" : "string" },
"authorizingOfficerName": { "type" : "string"},
"authorizingOfficerTitle": { "type" : "string"},
"applicantInfo": {
"$ref": "#/definitions/applicantInfoTempOutfitter"
},
"type": {
"type": "string",
"default": "tempOutfitterGuide",
"enum":[
"tempOutfitterGuide"
]
},
"tempOutfitterFields": {
"$ref": "#/definitions/tempOutfitterFields"
}
},
"required": ["controlNumber","region","forest","district","applicantInfo","type","tempOutfitterFields"],
"xml": {
"name": "tempOutfitterPermitGet"
}
}
}
}