Skip to content

Common - Inbound to ePlanning API (v2)

Common - Inbound to ePlanning API

Languages
Servers

https://api-uat.apps1.nsw.gov.au/planning/Common/v2/

Return

Request

This operation transfers the relevant organisation's decision to return the application from their IT system to the ePlanning.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired
returnDatestring(date)required

Date of return

returnReasonsArray of strings(returnReason)required
Example: ["Refer to description for values"]
returnReasonDescriptionForOtherstring<= 512 charactersrequired

This is to track the detailed reason the council is returning the application, required only when return reason was selected as Other.

updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/Return/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "returnDate": "2019-08-24",
    "returnReasons": [
      "Refer to description for values"
    ],
    "returnReasonDescriptionForOther": "string",
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Case returned

Body

Reassign

Request

This operation reassigns the case from one user to another user within the relevant organisation.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired
assigneeobject(Person)required
assignee.​personobject(PersonBody)
updatedByEmailstring<= 256 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/Reassign/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "assignee": {
      "person": {
        "firstName": "John",
        "otherName": "Darren",
        "surname": "Smith",
        "emailAddress": "john.smith@gmail.com",
        "contactNumber": "string"
      }
    },
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Case reassigned

Body
Response
No content

ProvideAddInfo

Request

This operation transfers additional information uploaded by the relevant organisation's IT system to the ePlanning. This operation is applicable to certificate registration Service and referral cases.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

body

provideDetailsstring<= 512 charactersrequired

This is to track the description of the response, required when certifier is providing additional information

childCaseIDstring

Required only if responding to an existing AI case id for RFI

DocumentsArray of objects(DownloadableDocument)
updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/ProvideAddInfo/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "provideDetails": "string",
    "childCaseID": "string",
    "Documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Additional Information Provided

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Additional Information Provided"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Additional Information Provided", "activityId": "string", "Documents": [ {} ] }

Withdraw

Request

This operation transfers the relevant organisation's decision to withdraw the application from their IT system to the ePlanning.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired
withdrawalDatestring(date)required

This is to track the date on which the case is withdrawn

withdrawalReasonstring<= 512 characters

This is to track the reason why the case is withdrawn.Please refer to the reference data API for the latest values. For Housing and Productivity contribution cases, one of the predefined reasons per below can be used while withdrawing the case. 1.Applicable contributions framework not available in the Portal 2.Contributions framework no longer applicable 3.Other

DocumentsArray of objects(DownloadableDocument)
updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/Withdraw/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "withdrawalDate": "2019-08-24",
    "withdrawalReason": "string",
    "Documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Case withdrawn

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Case withdrawn"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Case withdrawn", "activityId": "string", "Documents": [ {} ] }

ReqAddInfo

Request

This operation enables the relevant organisation to request that the applicant uploads additional information to the ePlanning from their IT system.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired
requestDetailsstringrequired

This is to track the short description of the request

DocumentsArray of objects(DownloadableDocument)
updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/ReqAddInfo/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "requestDetails": "string",
    "Documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Request created

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Request created"
caseIDstring

Case ID of the additional information request.

Example: "AI-XXXX"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Request created", "caseID": "AI-XXXX", "activityId": "string", "Documents": [ {} ] }

CloseAICase

Request

This operation transfers the relevant organisation's decision to complete the application's AI case from their IT system to the ePlanning system.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

Information request object

childCaseIDstring
Example: "AI-XXXX"
updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CloseAICase/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "childCaseID": "AI-XXXX",
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Case closed successfully

Body
Response
No content

Documents

Request

This operation enables the external organizations to request documents available in ePlanning.

Path
DocIDstringrequired

The unique attachment ID

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

curl -i -X GET \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/Documents/{DocID}' \
  -H 'OrganisationID: string'

Responses

Returns the file as a binary download

Bodyapplication/*
string(binary)

UpdateMetadata

Request

This operation enables the relevant organisation to update the document as sensitive document and/or assessment document and/or published document.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

Information request object

DocumentsArray of objects(DocumentsInfo)
updatedByEmailstring<= 256 characters

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/UpdateMetadata/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "Documents": [
      {
        "docID": "DATA-WORKATTACH-FILE PEC-DPE-EP-WORK CDC-7850!20201124T125127.562 GMT",
        "isAssessmentDoc": true,
        "isSensitiveDoc": true,
        "isPublishDoc": true
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Metadata updated successfully.

Body

Payment

Request

This operation enables the applicant to receive the payment URL to make the payment.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

body

updatedByEmailstring<= 250 characters

Registered user mail address who performing the action.

Example: "johnsmith@yopmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/Payment/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "updatedByEmail": "johnsmith@yopmail.com"
  }'

Responses

Payment URL Generated

Bodyapplication/json
PaymentURLstring

Payment URL - to be used to Pay

Example: "https://gpp-digital-ui-preprod.apps.pcf-ext.testservicensw.net?paymentReference= GPP-DIG-7LmKhNViSICwuH9GHdyoZg"
Response
application/json
{ "PaymentURL": "https://gpp-digital-ui-preprod.apps.pcf-ext.testservicensw.net?paymentReference= GPP-DIG-7LmKhNViSICwuH9GHdyoZg" }

GetCaseInfo

Request

This operation enables the relevant organisation to request ePlanning to resend the latest application from the planning portal to their IT system.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

curl -i -X GET \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/GetCaseInfo/{CaseID}' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string'

Responses

ePlanning will send the latest event payload.

Body
Response
No content

GetCaseInfoSync

Request

This operation enables the relevant organisation to request ePlanning to resend the latest application from the planning portal to their IT system. The case details will be sent synchronously.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

curl -i -X GET \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/GetCaseInfoSync/{CaseID}' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string'

Responses

The latest case details of the requested caseID is returned synchronously. Please refer to the relevant Create operation schemas to map the responses. For e.g when requesting CR case details, CreateCR schema can be referred.

Body
Response
No content

GetRegisteredUsers

Request

This operation fetches the details of the operators registered in the ePlanning portal.

Headers
organisationIDstringrequired

Organisation ID will be provided as input and the respective associated users will be fetched.

curl -i -X GET \
  https://api-uat.apps1.nsw.gov.au/planning/Common/v2/GetRegisteredUsers \
  -H 'organisationID: string'

Responses

Operation successful, result attached

Bodyapplication/json
statusCodeintegerrequired
Example: 200
messagestring
Example: "Operation successful, result attached"
registeredUsersListArray of objects(UsersOutput)
Response
application/json
{ "statusCode": 200, "message": "Operation successful, result attached", "registeredUsersList": [ {} ] }

CreateRef

Request

This operation transfers the referral details from the relevant organisation to create the referral in the ePlanning system.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

Information request object

updateReasonstring<= 1500 characters

This is to track the reason(s) for adding new referral(s) and/or uploading documents.

agencyListArray of objects(agencyList)

This is to track the the agency name(s).

DocumentsArray of objects(DownloadableDocument)

Upload the documents if required as it is an optional field.

updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CreateRef/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "updateReason": "string",
    "agencyList": [
      {
        "agencyName": "Refer to description for values",
        "otherAgencyName": "string",
        "agencyReferenceNumber": "string",
        "reasonForReferral": "string",
        "requiredDocumentType": [
          "Refer to description for values"
        ]
      }
    ],
    "Documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Case Submitted by Applicant

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Case Submitted by Applicant"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Case Submitted by Applicant", "activityId": "string", "Documents": [ {} ] }

CreateExhibition

Request

This operation transfers the exhibition details from the relevant organisation to create the exhibition in the ePlanning system.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing.Typically, a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired
exhbitionTitlestring<= 100 charactersrequired

This is to track the title of the exhibition and this field is mandatory when the consent authority selects doesPublicExhibitionRequired is selected as true.

exhibitionStartDatestring(date)required

This is to track the start date of the exhibition and this field is mandatory when the applicant select doesPublicExhibitionRequired is selected as true.

exhibitionEndDatestring(date)required

This is to track the end date of the exhibition and this field is mandatory when the applicant select doesPublicExhibitionRequired is selected as true.

commentsstring<= 512 characters

This is an optional field to provide comments in the exhibition details screen. This can be used during creation or updating the exhibition.

detailedDescriptionstring

This field is applicable for State DA and Mandatory to provide detailed description in Exhibition details screen. This can be used during creation or updating the exhibition.

addNewsPaperArray of objects(NewsPaper)
DocumentsArray of objects(DocumentsToUpload)
DocumentsToPublishArray of objects(DocumentsToPublish)

this is to publish the existing documents

updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CreateExhibition/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "exhbitionTitle": "string",
    "exhibitionStartDate": "2019-08-24",
    "exhibitionEndDate": "2019-08-24",
    "comments": "string",
    "detailedDescription": "string",
    "addNewsPaper": [
      {
        "nameOfNewsPaper": "string",
        "hasSlotBooked": true,
        "dateOfCirculation": "2019-08-24"
      }
    ],
    "Documents": [
      {
        "documentName": "test.docx",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com",
        "isPublishDoc": true
      }
    ],
    "DocumentsToPublish": [
      {
        "docID": "DATA-WORKATTACH-FILE PEC-DPE-EP-WORK CDC-7850!20201124T125127.562 GMT.",
        "isPublishDoc": true
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Exhibition case has been created successfully

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Exhibition case has been created successfully"
caseIDstring
Example: "EXH-1234"
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Exhibition case has been created successfully", "caseID": "EXH-1234", "Documents": [ {} ] }

UpdateExhibition

Request

This operation transfers the exhibition details from the relevant organisation to update the exhibition in the ePlanning system.

Path
CaseIDstringrequired

A fully qualified exhibition case number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing.Typically, a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired
exhibitionStartDatestring(date)

This is to track the start date of the exhibition. This field is not applicable when the case status in 'On Exhibition' status.

exhibitionEndDatestring(date)required

This is to track the end date of the exhibition and this field is mandatory when the applicant select doesPublicExhibitionRequired is selected as true.

commentsstring<= 512 characters

This is an optional field to provide comments in the exhibition details screen. This can be used during creation or updating the exhibition.

detailedDescriptionstring

This field is applicable for State DA and Mandatory to provide detailed description in Exhibition details screen. This can be used during creation or updating the exhibition.

addNewsPaperArray of objects(NewsPaper)
DocumentsArray of objects(DocumentsToUpload)
DocumentsToPublishArray of objects(DocumentsToPublish)

this is to publish the existing documents

updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/UpdateExhibition/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "exhibitionStartDate": "2019-08-24",
    "exhibitionEndDate": "2019-08-24",
    "comments": "string",
    "detailedDescription": "string",
    "addNewsPaper": [
      {
        "nameOfNewsPaper": "string",
        "hasSlotBooked": true,
        "dateOfCirculation": "2019-08-24"
      }
    ],
    "Documents": [
      {
        "documentName": "test.docx",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com",
        "isPublishDoc": true
      }
    ],
    "DocumentsToPublish": [
      {
        "docID": "DATA-WORKATTACH-FILE PEC-DPE-EP-WORK CDC-7850!20201124T125127.562 GMT.",
        "isPublishDoc": true
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Case updated

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Case updated"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Case updated", "activityId": "string", "Documents": [ {} ] }

CreateSubmission

Request

This operation transfers the submission details from the relevant organisation to create the submission case in the ePlanning system.

Path
CaseIDstringrequired

A fully qualified Exhibition case number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired
submissionTypestringrequired

This is to track the application submission type. One of the below mentioned values must be selected for submission types. 1. I am making a personal submission 2. I am submitting on behalf of my organisation 3. I am submitting on behalf of a Government agency/authority

Example: "Refer to description for values"
exhibitionCaseIDstringrequired

A fully qualified exhibition case number which is associated with the relevant case ID provided in header.

Example: "EXH-XXXX"
organisationNamestring<= 20 characters

This is to track the government agency/authority organisation name. Applicable when submissionType is 'I am submitting on behalf of a Government agency/authority'

positionInOrganisationstring<= 20 characters

This is to track the applicant's position in the organisation. Applicable when submissionType is 'I am submitting on behalf of a Government agency/authority'

titlestring

Salutation of the user. One of the below mentioned values must be selected for salutaion of the user 1. Mr 2. Mrs 3. Ms 4. Miss

Example: "Refer to description for values"
firstNamestring<= 20 characters

This is to track the first name

familyNamestring<= 20 characters

This is to track the family name.

nameWithheldboolean

This is to track if the person who submits does not want their name published. This is not applicable when submissionType is 'I am submitting on behalf of a Government agency/authority'

emailstringrequired

This is to track the Email Id.

address1string

This is to track the address.

address2string

This is to track the additional address.

suburbTownPostcodestringrequired

This is to track the suburb town postcode.

postCodenumberrequired

This is to track the PostCode.

statestringrequired

This is to track the State.One of the below mentioned values must be selected for state 1. Australian Capital Territory 2. New South Wales 3. Northern Territory 4. Queensland 5. South Australia 6. Tasmania 7. Victoria 8. Western Australia

Example: "Refer to description for values."
reportablePoliticalDonationboolean

This is to track if the applicant has any political donations to report

submissionConsentstringrequired

This is to track the opinion of the applicant on the submission. One of the below mentioned values must be selected for submission content 1. I support it 2. I object to it 3. I am just providing comments

Example: "Refer to description for values"
submissionstring<= 10000 charactersrequired
declarationsArray of objects(declarations)required

Required applicant declaration for create submission.

declarations[].​declarationstringrequired

Holds the consents the user is supposed to provide on submitting the application. - The submission will be kept in accordance to the Privacy statement

Example: "Refer to description for values"
DocumentsArray of objects(DownloadableDocument)

Applicable for online DA application.

updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CreateSubmission/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "submissionType": "Refer to description for values",
    "exhibitionCaseID": "EXH-XXXX",
    "organisationName": "string",
    "positionInOrganisation": "string",
    "title": "Refer to description for values",
    "firstName": "string",
    "familyName": "string",
    "nameWithheld": true,
    "email": "string",
    "address1": "string",
    "address2": "string",
    "suburbTownPostcode": "string",
    "postCode": 0,
    "state": "Refer to description for values.",
    "reportablePoliticalDonation": true,
    "submissionConsent": "Refer to description for values",
    "submission": "string",
    "declarations": [
      {
        "declaration": "Refer to description for values"
      }
    ],
    "Documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Case updated

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Case updated"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Case updated", "activityId": "string", "Documents": [ {} ] }

Reject

Request

This operation transfers the relevant organisation's decision to reject the application from their IT system to the ePlanning.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired
rejectDatestring(date)required

This is to track the date of rejection

rejectReasonstringrequired

This is to track the different reasons for rejecting. One of the below mentioned values must be selected for reject reasons 1. The application is illegible or unclear as to the development consent sought 2. The application does not contain the information specified in Part 1 of Schedule 1 of the EP&A Regulation 3. The application is for State significant development or designated development and is not accompanied by an environmental impact statement

Example: "Refer to description for values"
rejectReasonDescriptionstring<= 512 charactersrequired

This is to track the detailed reason the council is rejecting the application

updatedByEmailstring<= 250 characters

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/Reject/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "rejectDate": "2019-08-24",
    "rejectReason": "Refer to description for values",
    "rejectReasonDescription": "string",
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Case rejected

Body
Response
No content

AllConsentConditions

Request

This operation retrieves all of the active conditions available in the DPE Condition library and Council specific Condition library.

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

curl -i -X GET \
  https://api-uat.apps1.nsw.gov.au/planning/Common/v2/AllConsentConditions \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string'

Responses

Conditions retrieved successfully.

Bodyapplication/json
conditionsArray of objects(Conditions)required
conditions[].​conditionIDstring(string)required

This indicates the Condition ID generated by DPE.

Example: "COND-123"
conditions[].​conditionTypestringrequired

This indicates the type of Conditions in library. conditionType can have following values. 1.Bespoke:indicates conditions in Council library at DPE 2.Model:indicates model conditions in DPE library 3.Prescribed:indicates prescribed conditions in DPE library (* Values are case sensitive)

Example: "Bespoke"
conditions[].​conditionTitlestringrequired

This indicates the title of Condition.

Example: "Approved Plans"
conditions[].​conditionTextstringrequired

This indicates the condition text in HTML format. Council can receive images in condition text in the img tag. img tag contains the documentID of the image file. Council can use GetDocument API for retrieving imag e document by passing base64 encoded document key.

Example: "<p>Sample text <img height=\"255\" src=\"https%3A%2F%2Fapi-tst.apps1.nsw.gov.au%2Fplanning%2FDocMgmt%2Fv1%2FDocuments%2FDATA-CONTENT-IMAGE CONIMG21686646077367!PNG!/RTEIMAGES/\" width=\"500\"></p>"
conditions[].​conditionReasonstring

This indicates the reason why a Condition is being added in Council library.

Example: "Plans condition"
conditions[].​effectiveDatestring(date)required

This indicates the date from when condition will be effective in the ePlanning & Council system.

Example: "2022-03-16"
conditions[].​expiryDatestring(date)

This indicates the expiration date of the condition.

Example: "2023-03-16"
conditions[].​typeOfWorkstringrequired

This indicates the type of work mentioned in the condition. This field has following options - 1.Building Work, 2.Demolition Work, 3.Subdivision Work,4.Remediation Work, 5.Strata Subdivision, 6.Change of use, 7.Land Subdivision, 8.Other

Example: "Demolition Work"
conditions[].​developmentStagestringrequired

This indicates the stage of development that are relevant to the condition. This field has following options - 1. During building work, 2. During demolition work, 3. During subdivision work, 4. Before building work commences, 5. Before remediation work commences, 6. Before subdivision work commences, 7. Before issue of an occupation certificate, 8. Ongoing use for subdivision work, 9. Occupation and ongoing use, 10. Before issue of a construction certificate, 11. Before issue of a subdivision certificate, 12. Before issue of a strata certificate, 13. Before issue of a subdivision works certificate, 14. On completion of demolition work, 15.On completion of remediation work, 16. Ongoing use for change of use, 17. Before demolition work commences, 18. During remediation work, 19. General condition

Example: "General condition"
conditions[].​reasonForReportingstringrequired

This indicates the reason for adding this condition.

Example: "This is for reporting purpose"
conditions[].​councilConditionIDstring(string)

This indicates the Council reference ID that's assigned by the Council for a specific Condition ID.

Example: "SAMPLE-123"
conditions[].​updatedTimestampstring(date-time)required

This indicates the time stamp when conditon gets updated.

conditions[].​updatedByEmailstring

User's email who has updated the condition.

Example: "abc@gmail.com"
Response
application/json
{ "conditions": [ {} ] }

CouncilLibrary

Request

This operation allows the consent authority to add new Bespoke conditions to the Council's condition library.

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

CreateCondition request object

conditionsArray of objects(CreateCouncilConditionsDetails)required
conditions[].​conditionTitlestring<= 256 charactersrequired

This indicates the title of Condition.

Example: "Approved Plans"
conditions[].​conditionTextstring<= 300000 charactersrequired

This indicates the condition text in HTML format. Council should send image document with png, jpg, jpeg extension(s) only in the img tag in Condition text. Image size can be maximum 600px in width and 252 px in height.

Example: "<p><img src ='http://councilbaseurl/Documents/ConImg2.png' width='300' height='150'></p>"
conditions[].​conditionReasonstring<= 256 characters

This indicates the reason for creating a condition.

Example: "Plans condition"
conditions[].​effectiveDatestring(date)<= 10 charactersrequired

This indicates the date from when condition will be effective in the ePlanning & Council system.

Example: "2022-03-16"
conditions[].​typeOfWorkstring<= 256 charactersrequired

This indicates the type of work mentioned in the condition. This field has following options - 1.Building Work, 2.Demolition Work, 3.Subdivision Work,4.Remediation Work, 5.Strata Subdivision, 6.Change of use, 7.Land Subdivision, 8.Other

Example: "Demolition Work"
conditions[].​reasonForReportingstring<= 1000 charactersrequired

This indicates the reason for adding this condition.

Example: "This is for reporting purpose"
conditions[].​developmentStagestring<= 256 charactersrequired

This indicates the stage of development that are relevant to the condition. This field has following options - 1. During building work, 2. During demolition work, 3. During subdivision work, 4. Before building work commences, 5. Before remediation work commences, 6. Before subdivision work commences, 7. Before issue of an occupation certificate, 8. Ongoing use for subdivision work, 9. Occupation and ongoing use, 10. Before issue of a construction certificate, 11. Before issue of a subdivision certificate, 12. Before issue of a strata certificate, 13. Before issue of a subdivision works certificate, 14. On completion of demolition work, 15.On completion of remediation work, 16. Ongoing use for change of use, 17. Before demolition work commences, 18. During remediation work, 19. General condition

Example: "General condition"
conditions[].​councilConditionIDstring<= 256 characters

This indicates the Council reference ID that's assigned by the Council for a specific Condition ID.

Example: "SAMPLE-123"
conditions[].​updatedByEmailstring<= 256 charactersrequired

User must be registered in the planning portal

Example: "abc@gmail.com"
curl -i -X POST \
  https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CouncilLibrary \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "conditions": [
      {
        "conditionTitle": "Approved Plans",
        "conditionText": "<p><img src ='\''http://councilbaseurl/Documents/ConImg2.png'\'' width='\''300'\'' height='\''150'\''></p>",
        "conditionReason": "Plans condition",
        "effectiveDate": "2022-03-16",
        "typeOfWork": "Demolition Work",
        "reasonForReporting": "This is for reporting purpose",
        "developmentStage": "General condition",
        "councilConditionID": "SAMPLE-123",
        "updatedByEmail": "abc@gmail.com"
      }
    ]
  }'

Responses

Condition(s) created sucessfully

Bodyapplication/json
statusCodeintegerrequired
Example: 200
messagestringrequired
Example: "Request is successfully executed"
conditionDetailsArray of objects(ConditionDetails)required

These detils gets populated only in case of success where all the conditions gets successfully added in Eplanning

conditionDetails[].​conditionIDstringrequired

This indicates the Condition ID generated by DPE.

Example: "COND-123"
conditionDetails[].​councilConditionIDstring

This indicates the Council reference ID that's assigned by the Council for a specific Condition ID.

Example: "SAMPLE-123"
conditionDetails[].​conditionTitlestringrequired

Condition Title

Example: "Approved Plans"
conditionDetails[].​effectiveDatestring(date)required

Condtition Effective Date

Example: "2022-10-22"
Response
application/json
{ "statusCode": 200, "message": "Request is successfully executed", "conditionDetails": [ {} ] }

CouncilLibrary

Request

This operation enables the consent authority to update an existing Bespoke condition in Council's condition library.

Path
ConditionIDstringrequired

This indicates the Condition ID generated by DPE.

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

UpdateCondition request object

conditionTitlestring<= 256 charactersrequired

This indicates the title of the Condition.

Example: "Approved Plans"
conditionTextstring<= 300000 charactersrequired

This indicates the condition text in HTML format. Council should send image document with png, jpg, jpeg extension(s) only in the img tag in Condition text. Image size can be maximum 600px in width and 252 px in height.

Example: "<p><img src ='http://councilbaseurl/Documents/ConImg2.png' width='300' height='150'></p>"
conditionReasonstring<= 256 characters

This indicates the reason why a Condition is being added in Council library.

Example: "Plans condition"
newEffectiveDatestring(date)<= 10 charactersrequired

This indicates the date from when the updated Condition will be effective in the ePlanning & Council system.

Example: "2022-03-16"
newExpiryDatestring(date)<= 10 characters

This indicates the expiration date of the updated condition.

Example: "2023-03-16"
typeOfWorkstring<= 256 charactersrequired

This indicates the type of work mentioned in the condition. This field has following options - 1.Building Work, 2.Demolition Work, 3.Subdivision Work,4.Remediation Work, 5.Strata Subdivision, 6.Change of use, 7.Land Subdivision, 8.Other

Example: "Demolition Work"
reasonForReportingstring<= 1000 charactersrequired

This indicates the reason for adding this condition.

Example: "This is for reporting purpose"
developmentStagestring<= 256 charactersrequired

This indicates the stage of development that are relevant to the condition. This field has following options - 1. During building work, 2. During demolition work, 3. During subdivision work, 4. Before building work commences, 5. Before remediation work commences, 6. Before subdivision work commences, 7. Before issue of an occupation certificate, 8. Ongoing use for subdivision work, 9. Occupation and ongoing use, 10. Before issue of a construction certificate, 11. Before issue of a subdivision certificate, 12. Before issue of a strata certificate, 13. Before issue of a subdivision works certificate, 14. On completion of demolition work, 15.On completion of remediation work, 16. Ongoing use for change of use, 17. Before demolition work commences, 18. During remediation work, 19. General condition

Example: "General condition"
councilConditionIDstring<= 256 characters

This indicates the Council reference ID that's assigned by the Council for a specific Condition ID.

Example: "SAMPLE-123"
updatedByEmailstring<= 256 charactersrequired

This refers to the email address of the User. User is expected to be registered in the planning portal.

Example: "abc@gmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CouncilLibrary/{ConditionID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "conditionTitle": "Approved Plans",
    "conditionText": "<p><img src ='\''http://councilbaseurl/Documents/ConImg2.png'\'' width='\''300'\'' height='\''150'\''></p>",
    "conditionReason": "Plans condition",
    "newEffectiveDate": "2022-03-16",
    "newExpiryDate": "2023-03-16",
    "typeOfWork": "Demolition Work",
    "reasonForReporting": "This is for reporting purpose",
    "developmentStage": "General condition",
    "councilConditionID": "SAMPLE-123",
    "updatedByEmail": "abc@gmail.com"
  }'

Responses

Condition Updated sucessfully

Bodyapplication/json
statusCodeintegerrequired
Example: 200
messagestringrequired
Example: "Request is successfully executed"
Response
application/json
{ "statusCode": 200, "message": "Request is successfully executed" }

CouncilLibrary

Request

This operation enables the consent authority to delete an existing Bespoke condition in the Council's condition library.

Path
ConditionIDstringrequired

This indicates the Condition ID generated by DPE.

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

ReasonForDeletionstring<= 1000required

This field is to capture the reason for deleting the condition

curl -i -X DELETE \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CouncilLibrary/{ConditionID}' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -H 'ReasonForDeletion: string'

Responses

Condition deleted sucessfully

Bodyapplication/json
statusCodeintegerrequired
Example: 200
messagestringrequired
Example: "Request is successfully executed"
Response
application/json
{ "statusCode": 200, "message": "Request is successfully executed" }

ConsentConditions

Request

This operation overwrites all the conditions specific to a development application. It is required to have atleast one general condition in the API request. During Mod and Review of a DA, if any condition needs to be retained from the previous determination then the Condition ID should be passed as stored in the previous case.

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

ConsentConditions request object

conditionsArray of objects(ConsentConditionsDetails)required
conditions[].​conditionIDstring<= 256 characters

This indicates the Condition ID generated by DPE. This field should be empty if Conditon is applied only for a specific application and Condition is not available in Council library in DPE. This field is mandatory when the Condition type is selected as Prescribed or Model

Example: "COND-123"
conditions[].​conditionTypestring<= 256 characters

This indicates the type of Conditions in library. If the condition type is sent as blank it will be treated as Bespoke condition if that condition ID is not available in the library. conditionType can have following values. 1.Bespoke:indicates conditions in Council library at DPE 2.Model:indicates model conditions in DPE library 3. Prescribed:indicates prescribed conditions in DPE library (* Values are case sensitive)

Example: "Bespoke"
conditions[].​conditionTitlestring<= 256 charactersrequired

This indicates the title of the Condition.

Example: "Approved Plans"
conditions[].​conditionTextstring<= 300000 charactersrequired

This indicates the condition text in HTML format. Council should send image document with png, jpg, jpeg extension(s) only in the img tag in Condition text. Image size can be maximum 600px in width and 252 px in height.

Example: "<p><img src ='http://councilbaseurl/Documents/ConImg2.png' width='300' height='150'></p>"
conditions[].​conditionReasonstring<= 256 characters

This indicates the reason why a Condition is being added in Council library.

Example: "Plans condition."
conditions[].​modificationReasonstring

This indicates the reason for adding, modifying or deleting condition(s) during a MOD DA or Review of determination application. This is mandatory when any condition(s) in previously approved DA is altered.

Example: "Condition modified to change the hours of operation"
conditions[].​typeOfWorkstring<= 256 characters

This indicates the type of work mentioned in the condition. This field is mandatory when the value for conditionID is empty. This field has following options - 1.Building Work, 2.Demolition Work, 3.Subdivision Work,4.Remediation Work, 5.Strata Subdivision, 6.Change of use, 7.Land Subdivision, 8.Other

Example: "Demolition work"
conditions[].​developmentStagestring<= 256 characters

This indicates the stage of development that are relevant to the condition. This field has following options - 1. During building work, 2. During demolition work, 3. During subdivision work, 4. Before building work commences, 5. Before remediation work commences, 6. Before subdivision work commences, 7. Before issue of an occupation certificate, 8. Ongoing use for subdivision work, 9. Occupation and ongoing use, 10. Before issue of a construction certificate, 11. Before issue of a subdivision certificate, 12. Before issue of a strata certificate, 13. Before issue of a subdivision works certificate, 14. On completion of demolition work, 15.On completion of remediation work, 16. Ongoing use for change of use, 17. Before demolition work commences, 18. During remediation work, 19. General condition

Example: "General condition."
conditions[].​councilConditionIDstring<= 256 characters

This indicates the Council reference ID that's assigned by the Council for a specific Condition ID.

Example: "SAMPLE-123"
conditions[].​updatedByEmailstring<= 256 charactersrequired

This refers to the email address of the User. User is expected to be registered in the planning portal.

Example: "abc@gmail.com"
curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/ConsentConditions/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "conditions": [
      {
        "conditionID": "COND-123",
        "conditionType": "Bespoke",
        "conditionTitle": "Approved Plans",
        "conditionText": "<p><img src ='\''http://councilbaseurl/Documents/ConImg2.png'\'' width='\''300'\'' height='\''150'\''></p>",
        "conditionReason": "Plans condition.",
        "modificationReason": "Condition modified to change the hours of operation",
        "typeOfWork": "Demolition work",
        "developmentStage": "General condition.",
        "councilConditionID": "SAMPLE-123",
        "updatedByEmail": "abc@gmail.com"
      }
    ]
  }'

Responses

ConsentConditions Updated sucessfully

Bodyapplication/json
statusCodeintegerrequired
Example: 200
messagestringrequired
Example: "Request is successfully executed"
Response
application/json
{ "statusCode": 200, "message": "Request is successfully executed" }

GenerateNOD

Request

This operation allows the consent authority to validate and save the fields required for generating Notice of determination for a specific case (either draft version or final version) or validate and save the fields required for generating review letter if it is a review of a DA. The generation of NOD will happen offline and once the NOD is generated, ePlanning system will notify using the NotificationOfNODStatus API

Path
CaseIDstringrequired

A fully qualified application number

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

GenerateNOD request object

isFinalNODbooleanrequired

This enables the consent authority to determine if a draft version (word document) or a final version (pdf document) of the NOD needs to be created. To generate a Final NOD, value 'true' to be supplied. For the draft NOD, 'false' value is required to be supplied.

consentStartDatestring(date)

This indicates the date from which consent starts to operate. This field is mandatory if it is a review of a DA and the previous determination outcome was refused and present determination outcome is approved. And this field is also mandatory if determination outcome is approved for new DAs.

Example: "2023-03-16"
consentLapseDatestring(date)

This indicates the date from which consent lapses. This field is mandatory if it is a review of a DA and the previous determination outcome was refused and present determination outcome is approved. And this field is also mandatory if determination outcome is approved for new DAs.

Example: "2023-03-16"
approvalBodystring(string)

This refers to the approval body that have given general terms of approval. This field is mandatory if it is an integrated development. For e.g, Mining Act 1992, Heritage Act 1977 etc.

Example: "Mining Act 1992"
deferredMattersDetailsstring(string)

This holds the details of the deferred matters. This field is mandatory if determination outcome is deferred commencement. This String can contain HTML data. The length of string should be kept <=50,000 to avoid data truncation/data loss. Only HTML tags supported are "paragraph", "numbered-list", and "non-numbered list". Please do not pass any other HTML tags in this field. Otherwise the display of data in NOD may not have the right formatting.

courtCaseNamestring(string)

This indicates the name of the court case. This field is mandatory only when the determining authority is Land and Environment court.

courtCaseNumberstring(string)

This indicates associated LEC court case number. This field is mandatory only when the determining authority is Land and Environment court.

isConceptDevelopmentboolean

This indicates if the development is a concept development. Value 'true' indicates that it's a concept development and 'false' indicates that it's not a concept development. This field is mandatory if determination outcome is approved or deferred commencement.

conceptDevelopmentTypestring(string)

This indicates the type of development for Concept development. This field have following options - 1.Concept development application with no development, 2.Concept development application and the first stage of development and 3.Concept development application and the final stage of development. This field is mandatory if isConceptDevelopment is true.

Example: "Concept development application with no development"
conceptDevelopmentStagesstring(string)

This indicates the list of stages of development that apply to this application. This field is mandatory if conceptDevelopmentType is "Concept development application and the first stage of development" or "Concept development application and the final stage of development"

Example: "Stage 1"
BCAstring

This indicates the classification code of the building. This field is mandatory for a new DA or a review of a DA if the typeOfWork is "Buildingwork" and developmentStage is anything but "Before issue of a Construction Certificate"

Example: "BCA 1234"
isIPCPublicHearingbooleanrequired

This is to identify if there is a IPCPublicHearing.

IPCHearingDatestring(date)

This indicates the IPC Hearing Date. This is mandatory If isIPCPublicHearing is true

Example: "2023-03-16"
personIssuingDeterminationstring(string)required

This indicates the name of the person issuing determination.

Example: "John"
titleOfPersonIssuingDeterminationstring(string)required

This indicates the title of the person that has delegated authority to determine the application

Example: "Council Officer"
isContactPersonDifferentToPersonDeterminingbooleanrequired

This is to determine if contact person for enquiries different to the person issuing this determination.

contactPersonForEnquirystring(string)

This indicates the name of the person for enquiry mandatory when isContactPersonDifferentToPersonDetermining is true or if it is a review of a DA

Example: "Pattrick"
titleOfPersonForEnquirystring(string)

This indicates the title of the person for enquiry mandatory when isContactPersonDifferentToPersonDetermining is true or if it is a review of a DA

Example: "Assessment Officer"
reasonForApprovalOrRejectionstring(string)required

This indicates the reason for approval or rejection. This String can contain HTML data. The length of string should be kept <=50,000 to avoid data truncation/data loss. Only HTML tags supported are "paragraph", "numbered-list", and "non-numbered list". Please do not pass any other HTML tags in this field. Otherwise the display of data in NOD may not have the right formatting.

Example: "Case is pending with LEC."
determinationOutcomestring(string)required

This indicates the determination outcome of the application.This field have following options 1.Approved, 2.Refused, 3.Deferred commencement consent

Example: "Approved"
determiningAuthoritystring(string)required

This indicates the authorized determining authority. This field have following options 1.Central Sydney Planning Committee, 2.Sydney / Regional Planning Panel, 3.Local Planning Panel, 4.Council, 5.Minister for Planning, 6.Independent Planning Commission, 7.Land and Environment Court

Example: "Land and Environment Court"
determinationDatestring(date)required

This indicates the determination date of the application.

Example: "2023-03-16"
modifiedApplicationNumberstring(string)

This indicates the application number of the modified DA. This field is mandatory if it is a review of a modified DA or it is a modification of a DA

Example: "PAN-1234"
typeOfModificationstring(string)

This indicates the type of modification on the application. This field have following options - 1.Section 4.55 (1) of the Environmental Planning and Assessment Act 1979, 2.Section 4.55 (1A) of the Environmental Planning and Assessment Act 1979, 3.Section 4.55 (2) of the Environmental Planning and Assessment Act 1979 4.Section 4.56 of the Environmental Planning and Assessment Act 1979. This field is mandatory if it is a review of a modified DA or it is a modification of a DA

Example: "Section 4.55 (1) of the Environmental Planning and Assessment Act 1979"
signatureNamestring(uri)<= 500 characters

URL of the image to be downloaded. This URL should be similar to documents. This refers to the name of the signature document needed as a part of NOD generation. This supports png, jpg, jpeg formats only in the document.

Example: "http://sampleURL.com/api/Documents/signature_PANID.jpg"
reviewBodystring(string)

This field captures the review body making the determination. This field is mandatory only if it is a review of a DA. e.g. Council

Example: "Council"
aspectsUnderReviewstring(string)

This field captures the aspects of an application under review. This field is mandatory only if it is a review of a DA. The review considered the following aspects of the development application. e.g.- Determination or Conditions. This String can contain HTML data. The length of string should be kept <=50,000 to avoid data truncation/data loss. Only HTML tags supported are "paragraph", "numbered-list", and "non-numbered list". Please do not pass any other HTML tags in this field. Otherwise the display of data in NOD may not have the right formatting.

Example: "Determination"
developmentDescriptionstring<= 200 characters

This is to track the development description and is enabled for the consent authority to override the description entered by the applicant. This appears in the Notice of Determination document. This attribute is under development and will be enabled in the future release.

Example: "Alterations and additions to dwelling house including extension to first floor and reconfiguration of first floor rooftop terrace."
updatedByEmailstring<= 256 charactersrequired

This refers to the email address of the User. User is expected to be registered in the planning portal.

Example: "abc@gmail.com"
curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/GenerateNOD/{CaseID}' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "isFinalNOD": true,
    "consentStartDate": "2023-03-16",
    "consentLapseDate": "2023-03-16",
    "approvalBody": "Mining Act 1992",
    "deferredMattersDetails": "string",
    "courtCaseName": "string",
    "courtCaseNumber": "string",
    "isConceptDevelopment": true,
    "conceptDevelopmentType": "Concept development application with no development",
    "conceptDevelopmentStages": "Stage 1",
    "BCA": "BCA 1234",
    "isIPCPublicHearing": true,
    "IPCHearingDate": "2023-03-16",
    "personIssuingDetermination": "John",
    "titleOfPersonIssuingDetermination": "Council Officer",
    "isContactPersonDifferentToPersonDetermining": true,
    "contactPersonForEnquiry": "Pattrick",
    "titleOfPersonForEnquiry": "Assessment Officer",
    "reasonForApprovalOrRejection": "Case is pending with LEC.",
    "determinationOutcome": "Approved",
    "determiningAuthority": "Land and Environment Court",
    "determinationDate": "2023-03-16",
    "modifiedApplicationNumber": "PAN-1234",
    "typeOfModification": "Section 4.55 (1) of the Environmental Planning and Assessment Act 1979",
    "signatureName": "http://sampleURL.com/api/Documents/signature_PANID.jpg",
    "reviewBody": "Council",
    "aspectsUnderReview": "Determination",
    "developmentDescription": "Alterations and additions to dwelling house including extension to first floor and reconfiguration of first floor rooftop terrace.",
    "updatedByEmail": "abc@gmail.com"
  }'

Responses

Generate NOD request received sucessfully

Bodyapplication/json
statusCodeintegerrequired
Example: 200
messagestringrequired
Example: "The generation of NOD will happen offline and once the NOD is generated, ePlanning system will notify using the NotificationOfNODStatus API"
Response
application/json
{ "statusCode": 200, "message": "The generation of NOD will happen offline and once the NOD is generated, ePlanning system will notify using the NotificationOfNODStatus API" }

SanitizeData

Request

This operation allows the consent authority to sanitize the conditions data to validate the request payload.

Headers
OrganisationIDstringrequired

The relevant organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

SanitizeData request object

conditionsArray of objects(SanitizeDataConditions)required
conditions[].​conditionTextstring<= 5000 charactersrequired

This indicates the condition text that is required to be sanitized.

Example: "<p>This a sample HTML condition text</p>"
curl -i -X POST \
  https://api-uat.apps1.nsw.gov.au/planning/Common/v2/SanitizeData \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "conditions": [
      {
        "conditionText": "<p>This a sample HTML condition text</p>"
      }
    ]
  }'

Responses

Condition(s) sanitized sucessfully

Bodyapplication/json
conditionsArray of objects(SanitizeDataConditions)required
conditions[].​conditionTextstring<= 5000 charactersrequired

This indicates the condition text that is required to be sanitized.

Example: "<p>This a sample HTML condition text</p>"
Response
application/json
{ "conditions": [ {} ] }

CSIPerformed

Request

This operation transfers the certifier's critical stage inspection (CSI) information from the certifier's IT system to the ePlanning portal after the inspection has been performed. This operation is applicable for Complying Development Certificate (CDC) and Construction Certificate (CC) applications and it is available only after the determination stage. Reference data values can be obtained from the reference data API using the PCC or CDC digital service along with the corresponding operation.

Path
CaseIDstringrequired

A fully qualified application number or case id

Example: CDC-1234 OR CFT-1234
Headers
OrganisationIDstringrequired

The council LGA name or Private Certifier Organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

body

propertyAndContactInformationobjectrequired
propertyAndContactInformation.​applicantDetailsobject
propertyAndContactInformation.​ownerDetailsobject
propertyAndContactInformation.​siteAddressobject(addressCSIWDN)required

This is to track the address. Either gurasID or the fullAddress is required to be supplied. If gurasID is not supplied, then fullAddress will be considered for update. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

propertyAndContactInformation.​siteAddress.​gurasIDinteger

This is to track the gurasID which helps to fetch the address from NSW address database (GURAS).

Example: 2636480
propertyAndContactInformation.​siteAddress.​fullAddressstring<= 250 characters

This is to track the fulladdress which will be considered if the address is not found using GURAS id.

Example: "68 CROWN STREET RIVERSTONE 2765"
propertyAndContactInformation.​inspectionLocationstring<= 100 characters

This is to track the details of inspection location. Please provide additional description where the work was being completed.

Example: "9 AlEXANDER CRESCENT RIVERSTONE 2765"
inspectionDetailsobjectrequired
inspectionDetails.​dateOfInspectionstring(Date)<= 10 charactersrequired

This is to track the date on which the inspection was completed. This should be after the the determination of the parent case.

Example: "2024-02-21"
inspectionDetails.​inspectionTypestring<= 250 charactersrequired

This is to track the type of inspection. This is required for all types of inspection records. Please refer to the reference data API for the latest values. Following are the example values. 1.Footings 2.Slab reinforcement 3.Framework (prior to fixing floor, wall and ceiling linings) 4.Waterproofing 5. Stormwater drainage (prior to covering) 6.Service Penetrations 7.Bounding Wall Construction 8.Fire Resistance Level Wall 9.Swimming Pool Barrier 10.Final inspection 11. Other inspection

Example: "Footings"
inspectionDetails.​otherInspectionTypeDetailsstring<= 100 characters

This is to track the details of other inspection and is only applicable and required when the inspection type is 'Other inspection'.

Example: "other inspection details"
inspectionDetails.​BASIXCertificateDetailsArray of objects(BASIXCertificateDetails)
inspectionDetails.​notesFromInspectionstring<= 512 characters

This is to track the optional notes from inspection.

inspectionDetails.​resultOfInspectionstring<= 250 charactersrequired

This is to track the result of the inspection. Please refer to the reference data API for the latest values. Following are the example values. 1.Building works are satisfactory 2. Satisfactory - subject to additional requirements 3. Unsatisfactory - reinspection required

Example: "Building works are satisfactory"
certifierDetailsobjectrequired

This is to track the certifier details. Please note, when the inspection type is final inspection, then only Principal certifier details are mandatory and required. Otherwise, either Principal certifier details OR the Assigned Individual Certifier details must be provided.

certifierDetails.​principalCertifierDetailsobject(principalCertifierDetailsBody)

This is to track the details of the principal certifier and their individual registration details.

certifierDetails.​assignedIndividualCertifierDetailsobject(assignedIndividualCertifierDetailsBody)

This is to track the registration details of the individual certifier if the inspection was carried out by another certifier ( as agreed with the principal certifier). Either the principal certifier or the assigned individual certifier is expected to conduct the inspection and the values to be supplied accordingly.

documentsArray of objects(DownloadableDocument)
updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CSIPerformed/CDC-1234 OR CFT-1234' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "propertyAndContactInformation": {
      "applicantDetails": {
        "fullName": "John Carter",
        "email": "testapplicant@yopmail.com"
      },
      "ownerDetails": {
        "fullName": "John Carter",
        "email": "testapplicant@yopmail.com"
      },
      "siteAddress": {
        "gurasID": 2636480,
        "fullAddress": "68 CROWN STREET RIVERSTONE 2765"
      },
      "inspectionLocation": "9 AlEXANDER CRESCENT RIVERSTONE 2765"
    },
    "inspectionDetails": {
      "dateOfInspection": "2024-02-21",
      "inspectionType": "Footings",
      "otherInspectionTypeDetails": "other inspection details",
      "BASIXCertificateDetails": [
        {
          "BASIXCertificateNumber": "1370434S",
          "issuanceDate": "2023-06-17",
          "isSelected": true
        }
      ],
      "notesFromInspection": "string",
      "resultOfInspection": "Building works are satisfactory"
    },
    "certifierDetails": {
      "principalCertifierDetails": {
        "accreditationNo": "BDC1234 OR AMR-123456",
        "fullName": "John Smith"
      },
      "assignedIndividualCertifierDetails": {
        "accreditationNo": "BDC1234 OR AMR-123456",
        "fullName": "John Smith",
        "email": "pc@dpie.com",
        "mobileNumber": 434340789,
        "organisationName": "John Smith",
        "organisationAddress": "John Smith",
        "ABN": "12 345 678 900",
        "ACN": "123 456 789"
      }
    },
    "documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Additional Information Provided

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Case has been created successfully."
caseIDstring

ID of the case created.

Example: "INSP-2788 or WDN-2345"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Case has been created successfully.", "caseID": "INSP-2788 or WDN-2345", "activityId": "string", "Documents": [ {} ] }

CSIMissed

Request

This operation transfers the certifier's critical stage inspection (CSI) missed information from the certifier's IT system to the ePlanning portal. This operation is applicable for Complying Development Certificate (CDC) and Construction Certificate (CC) applications and it is available only after the determination stage. By performing this operation, the certifier declares that the work that would have been the subject of the missed inspection, is deemed satisfactory. Reference data values can be obtained from the reference data API using the PCC or CDC digital service along with the corresponding operation.

Path
CaseIDstringrequired

A fully qualified application number or case id

Example: CDC-1234 OR CC-1234
Headers
OrganisationIDstringrequired

The council LGA name or Private Certifier Organisation name to indicate where the request is originated from..

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

body

propertyAndContactInformationobjectrequired
propertyAndContactInformation.​applicantDetailsobjectrequired
propertyAndContactInformation.​applicantDetails.​fullNamestring<= 100 charactersrequired

This is to track the name of the applicant responsible for the aspect of development. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

Example: "John Carter"
propertyAndContactInformation.​applicantDetails.​emailstring<= 250 charactersrequired

This is to track the email address of the applicant responsible for the aspect of development. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

Example: "testapplicant@yopmail.com"
propertyAndContactInformation.​ownerDetailsobjectrequired
propertyAndContactInformation.​ownerDetails.​fullNamestring<= 100 charactersrequired

This is to track the name of the owner responsible for the aspect of development. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

Example: "John Carter"
propertyAndContactInformation.​ownerDetails.​emailstring<= 250 charactersrequired

This is to track the email ID of the owner responsible for the aspect of development. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

Example: "testapplicant@yopmail.com"
propertyAndContactInformation.​ownerDetails.​addressobject(addressCSIWDN)required

This is to track the address. Either gurasID or the fullAddress is required to be supplied. If gurasID is not supplied, then fullAddress will be considered for update. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

propertyAndContactInformation.​ownerDetails.​address.​gurasIDinteger

This is to track the gurasID which helps to fetch the address from NSW address database (GURAS).

Example: 2636480
propertyAndContactInformation.​ownerDetails.​address.​fullAddressstring<= 250 characters

This is to track the fulladdress which will be considered if the address is not found using GURAS id.

Example: "68 CROWN STREET RIVERSTONE 2765"
propertyAndContactInformation.​ownerDetails.​contactNumberstring<= 20 characters^[0-9]+$required

This is to track the contact number of the owner responsible for the aspect of development.

Example: 434340748
propertyAndContactInformation.​ownerDetails.​licenseNumberstring<= 50 characters

This is to track the Licence number or Permit number (in case of an owner builder).

Example: "cr513631"
propertyAndContactInformation.​siteAddressobject(addressCSIWDN)required

This is to track the address. Either gurasID or the fullAddress is required to be supplied. If gurasID is not supplied, then fullAddress will be considered for update. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

propertyAndContactInformation.​siteAddress.​gurasIDinteger

This is to track the gurasID which helps to fetch the address from NSW address database (GURAS).

Example: 2636480
propertyAndContactInformation.​siteAddress.​fullAddressstring<= 250 characters

This is to track the fulladdress which will be considered if the address is not found using GURAS id.

Example: "68 CROWN STREET RIVERSTONE 2765"
propertyAndContactInformation.​descriptionOfDevelopmentstring<= 512 charactersrequired

This is to track the detailed description of development activity.

Example: "This site is under the development activity of character."
missedInspectionDetailsobjectrequired
missedInspectionDetails.​dateOfInspectionstring(date)<= 10 charactersrequired

This is to track the date on which the inspection was scheduled.

Example: "2024-02-21"
missedInspectionDetails.​missedInspectionCommentsstring<= 512 charactersrequired

This is to track the comments of the inspection that was missed. A high-level summary provided by the certifier with details of the missed inspection.

Example: "string"
missedInspectionDetails.​inspectionTypestring<= 250 charactersrequired

This is to track the type of inspection. Required for all types of inspection records. Please refer to the reference data API for the latest values. Following are the example values. 1.Footings 2.Slab reinforcement 3.Framework (prior to fixing floor, wall and ceiling linings) 4.Waterproofing 5.Stormwater drainage (prior to covering) 6.Service Penetrations 7.Bounding Wall Construction 8.Fire Resistance Level Wall 9.Swimming Pool Barrier 10.Final inspection 11.Other inspection

Example: "Footings"
missedInspectionDetails.​otherInspectionTypeDetailsstring<= 100 characters

This is to track the details of other inspection and is only applicable and required when the inspection type is 'Other inspection'.

Example: "Provides the details when the inspectiontype is otherinspection"
missedInspectionDetails.​notesFromInspectionstring<= 512 characters

This is to track to the optional notes from inspection.

Example: "A high-level notes provided by the certifier with details of the missed inspection. Details to include the circumstances that the principal certifier considers were unavoidable and caused it to be missed and that the work that would have been the subject of the missed inspection is satisfactory."
certifierDetailsobjectrequired
certifierDetails.​principalCertifierDetailsobject(principalCertifierDetailsBody)

This is to track the details of the principal certifier and their individual registration details.

documentaryEvidencestring<= 512 charactersrequired

This is to track the list of documentary evidence relied on to satisfy the principal certifier that the work that would have been the subject of the missed inspection is satisfactory, including evidence of a kind referred to in the Building Code of Australia, A5G3.

Example: "These are the list of supporting documents, and here is a description of the documents, also these are he necessary comments on the evidence."
documentsArray of objects(DownloadableDocument)required
documents[].​documentNamestring<= 150 charactersrequired
documents[].​documentTypestring<= 100 charactersrequired
documents[].​uploadedDateTimestring(date-time)required
documents[].​documentURLstring(uri)<= 500 charactersrequired

URL of the document to be downloaded

updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CSIMissed/CDC-1234 OR CC-1234' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "propertyAndContactInformation": {
      "applicantDetails": {
        "fullName": "John Carter",
        "email": "testapplicant@yopmail.com"
      },
      "ownerDetails": {
        "fullName": "John Carter",
        "email": "testapplicant@yopmail.com",
        "address": {
          "gurasID": 2636480,
          "fullAddress": "68 CROWN STREET RIVERSTONE 2765"
        },
        "contactNumber": 434340748,
        "licenseNumber": "cr513631"
      },
      "siteAddress": {
        "gurasID": 2636480,
        "fullAddress": "68 CROWN STREET RIVERSTONE 2765"
      },
      "descriptionOfDevelopment": "This site is under the development activity of character."
    },
    "missedInspectionDetails": {
      "dateOfInspection": "2024-02-21",
      "missedInspectionComments": "string",
      "inspectionType": "Footings",
      "otherInspectionTypeDetails": "Provides the details when the inspectiontype is otherinspection",
      "notesFromInspection": "A high-level notes provided by the certifier with details of the missed inspection. Details to include the circumstances that the principal certifier considers were unavoidable and caused it to be missed and that the work that would have been the subject of the missed inspection is satisfactory."
    },
    "certifierDetails": {
      "principalCertifierDetails": {
        "accreditationNo": "BDC1234 OR AMR-123456",
        "fullName": "John Smith"
      }
    },
    "documentaryEvidence": "These are the list of supporting documents, and here is a description of the documents, also these are he necessary comments on the evidence.",
    "documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Critical stage inspection case created.

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Case has been created successfully."
caseIDstring

ID of the case created.

Example: "INSP-2788 or WDN-2345"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Case has been created successfully.", "caseID": "INSP-2788 or WDN-2345", "activityId": "string", "Documents": [ {} ] }

CreateWDN

Request

This operation transfers the certifier's Written Direction Notice(WDN) PART A -information from the certifier's IT system to the ePlanning portal. This operation is applicable for Complying Development Certificate (CDC) and Construction Certificate (CC) applications and it is available only after the determination stage. By performing this operation, the certifier confirms that all relevant legislative requirements have been considered and adhered to. Reference data values can be obtained from the reference data API using the PCC or CDC digital service along with the corresponding operation.

Path
CaseIDstringrequired

A fully qualified application number or case id

Example: CDC-1234 OR CFT-1234
Headers
OrganisationIDstringrequired

The council LGA name or Private Certifier Organisation name to indicate where the request is originated from.

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

body

certifierDetailsobjectrequired
certifierDetails.​principalCertifierDetailsobject(principalCertifierDetailsBodyWDN)

This is to track the details of the principal certifier and their individual registration details.

propertyAndContactInformationobjectrequired
propertyAndContactInformation.​developerDetailsobjectrequired
propertyAndContactInformation.​developerDetails.​fullNamestring<= 100 charactersrequired

This is to track the name of the developer responsible for the aspect of development. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

Example: "John Carter"
propertyAndContactInformation.​developerDetails.​emailstring<= 250 charactersrequired

This is to track the email ID of the developer responsible for the aspect of development. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

Example: "testapplicant@yopmail.com"
propertyAndContactInformation.​developerDetails.​addressobject(addressCSIWDN)required

This is to track the address. Either gurasID or the fullAddress is required to be supplied. If gurasID is not supplied, then fullAddress will be considered for update. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

propertyAndContactInformation.​developerDetails.​address.​gurasIDinteger

This is to track the gurasID which helps to fetch the address from NSW address database (GURAS).

Example: 2636480
propertyAndContactInformation.​developerDetails.​address.​fullAddressstring<= 250 characters

This is to track the fulladdress which will be considered if the address is not found using GURAS id.

Example: "68 CROWN STREET RIVERSTONE 2765"
propertyAndContactInformation.​ownerDetailsobjectrequired
propertyAndContactInformation.​ownerDetails.​fullNamestring<= 100 charactersrequired

This is to track the name of the owner for the aspect of development. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

Example: "John Carter"
propertyAndContactInformation.​siteAddressobject(addressCSIWDN)required

This is to track the address. Either gurasID or the fullAddress is required to be supplied. If gurasID is not supplied, then fullAddress will be considered for update. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

propertyAndContactInformation.​siteAddress.​gurasIDinteger

This is to track the gurasID which helps to fetch the address from NSW address database (GURAS).

Example: 2636480
propertyAndContactInformation.​siteAddress.​fullAddressstring<= 250 characters

This is to track the fulladdress which will be considered if the address is not found using GURAS id.

Example: "68 CROWN STREET RIVERSTONE 2765"
propertyAndContactInformation.​consentAuthoritystring<= 100 charactersrequired

This is to track the name of the local council or the consent authority name. Please note, if the attribute's value is already loaded from it's parent case, this is field becomes optional.

Example: "BLACKTOWN CITY COUNCIL"
noticeDetailsobjectrequired
noticeDetails.​noticeIssuedDatestring(date)<= 10 charactersrequired

This is to track the notice issued date. This date should not be prior to the appointment of the principal certifier.

Example: "2024-02-21"
noticeDetails.​noticeIssuedTostring<= 250 charactersrequired

This is to track the person to whom the notice is issued to. Please refer to the reference data API for the latest values. Following are the example values. 1. Land owner 2. Owner builder 3. Principal contractor 4. Other.

Example: "Land owner"
noticeDetails.​noticeIssuedToOtherDescstring<= 100 charactersrequired

This is to track the description of notice, and is applicable when the notice issued to is 'Other'.

Example: "Other person or organisation to whome the notice is issued."
noticeDetails.​nonComplianceDetailsstring<= 512 charactersrequired

This is to track the details of the non-complaince.

Example: null
noticeDetails.​nonComplianceRemedystring<= 512 charactersrequired

This is to track the steps taken to rectify non-compliance.

Example: null
noticeDetails.​nonComplianceRemedyDueDatestring(date)<= 10 charactersrequired

This is to track the due date for remedy of non-compliance. Date by which the person responsible for the aspect of development must demonstrate that they have remedied the non-compliance.

Example: "2024-02-21"
noticeDetails.​inspectionConductDatestring(date)<= 10 charactersrequired

This is to track the scheduled date when the inspection is proposed to be conducted by the principal certifier. If the non-compliance is not remedied by the inspection date, a notice will be provided to the relevant consent authority and owner within 2 days after the inspection.

Example: "2024-02-21"
documentsArray of objects(DownloadableDocument)
updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CreateWDN/CDC-1234 OR CFT-1234' \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "certifierDetails": {
      "principalCertifierDetails": {
        "accreditationNo": "BDC1234 OR AMR-123456",
        "fullName": "John Smith",
        "email": "pc@dpie.com",
        "mobileNumber": 434340789
      }
    },
    "propertyAndContactInformation": {
      "developerDetails": {
        "fullName": "John Carter",
        "email": "testapplicant@yopmail.com",
        "address": {
          "gurasID": 2636480,
          "fullAddress": "68 CROWN STREET RIVERSTONE 2765"
        }
      },
      "ownerDetails": {
        "fullName": "John Carter"
      },
      "siteAddress": {
        "gurasID": 2636480,
        "fullAddress": "68 CROWN STREET RIVERSTONE 2765"
      },
      "consentAuthority": "BLACKTOWN CITY COUNCIL"
    },
    "noticeDetails": {
      "noticeIssuedDate": "2024-02-21",
      "noticeIssuedTo": "Land owner",
      "noticeIssuedToOtherDesc": "Other person or organisation to whome the notice is issued.",
      "nonComplianceDetails": null,
      "nonComplianceRemedy": null,
      "nonComplianceRemedyDueDate": "2024-02-21",
      "inspectionConductDate": "2024-02-21"
    },
    "documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Additional Information Provided

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Case has been created successfully."
caseIDstring

ID of the case created.

Example: "INSP-2788 or WDN-2345"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Case has been created successfully.", "caseID": "INSP-2788 or WDN-2345", "activityId": "string", "Documents": [ {} ] }

UpdateWDN

Request

This operation transfers the certifier's Written Direction Notice (WDN) PART B - Inspection information from the certifier's IT system to the ePlanning portal. This operation is applicable for Complying Development Certificate (CDC) and Construction Certificate (CC) applications and it is available only after the determination stage. Reference data values can be obtained from the reference data API using the PCC or CDC digital service along with the corresponding operation.

Path
CaseIDstringrequired

A fully qualified application number or case id

Example: WDN-1234
Headers
OrganisationIDstringrequired

The council LGA name or Private Certifier Organisation name to indicate where the request is originated from..

IdempotencyIDstringrequired

Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically a UUID such as "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"

Bodyapplication/jsonrequired

body

parentCaseIDstring<= 32 charactersrequired

This is to track the parent case id (CFT or CDC) to update part B (Inspection) information of WDN.

Example: "CFT-1234 or CDC-1234"
certifierDetailsobjectrequired

This is to track the certifier details. Either Principal Certifier Details or the Assigned Individual Certifier Details must be provided.

certifierDetails.​principalCertifierDetailsobject(principalCertifierDetailsBody)

This is to track the details of the principal certifier and their individual registration details.

certifierDetails.​assignedIndividualCertifierDetailsobject(assignedIndividualCertifierDetailsBodyWDN)

This is to track the registration details of the individual certifier if the inspection was carried out by another certifier ( as agreed with the principal certifier). Either the principal certifier or the assigned individual certifier is expected to conduct the inspection and the values to be supplied accordingly.

inspectionDetailsobjectrequired
inspectionDetails.​dateOfInspectionstring(date)<= 10 charactersrequired

This is to track the date on which the inspection was performed.

Example: "2023-03-16"
inspectionDetails.​WDNCompliedbooleanrequired

This is to track if WDN was complied.

inspectionDetails.​WDNFailReasonstring<= 512 characters

This is to track the failure reason for WDN, and is applicable and required when the WDN complied is 'false'.

Example: "Detailed description of failure."
documentsArray of objects(DownloadableDocument)
updatedByEmailstring<= 250 charactersrequired

User must be registered in the planning portal

Example: "john.smith@gmail.com"
curl -i -X PUT \
  https://api-uat.apps1.nsw.gov.au/planning/Common/v2/UpdateWDN/WDN-1234 \
  -H 'Content-Type: application/json' \
  -H 'IdempotencyID: string' \
  -H 'OrganisationID: string' \
  -d '{
    "parentCaseID": "CFT-1234 or CDC-1234",
    "certifierDetails": {
      "principalCertifierDetails": {
        "accreditationNo": "BDC1234 OR AMR-123456",
        "fullName": "John Smith"
      },
      "assignedIndividualCertifierDetails": {
        "accreditationNo": "BDC1234 OR AMR-123456",
        "fullName": "John Smith",
        "email": "pc@dpie.com",
        "mobileNumber": 434340789,
        "organisationName": "John Smith",
        "organisationAddress": "John Smith",
        "ABN": "12 345 678 900",
        "ACN": "123 456 789"
      }
    },
    "inspectionDetails": {
      "dateOfInspection": "2023-03-16",
      "WDNComplied": true,
      "WDNFailReason": "Detailed description of failure."
    },
    "documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "john.smith@gmail.com"
  }'

Responses

Additional Information Provided

Bodyapplication/json
statusCodeinteger
Example: 200
messagestring
Example: "Case updated"
activityIdstring
DocumentsArray of objects(DocResponse)

Attached documents with eplanningDocIds.

Response
application/json
{ "statusCode": 200, "message": "Case updated", "activityId": "string", "Documents": [ {} ] }

CreateContribution

Request

This operation enables the consent authority to create a Contributions case in the ePlanning system.

Path
CaseIDstringrequired

A fully qualified parent case number. It can be of format PAN-xxxx or CDC-xxxx.

Bodyapplication/jsonrequired
manualCaseReasonstring<= 256 charactersrequired

This is to track the reasoning for consent authority's initiation of a contribution case. Please refer to the reference data API for the latest values. Example values are 1.Applicable contributions plan found in the planning portal 2.Contributions Case not triggered in Applicant's submission 3.Other

descriptionstring<= 2000 characters

This is to track the detailed reason for a case creation. This is required when manualCaseReason is 'Other'.

updatedByEmailstring<= 250 charactersrequired

This is to track the Email ID of the user triggering the request. User must be registered in the planning portal.

curl -i -X POST \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/CreateContribution/{CaseID}' \
  -H 'Content-Type: application/json' \
  -d '{
    "manualCaseReason": "string",
    "description": "string",
    "updatedByEmail": "string"
  }'

Responses

Contribution Case created successfully.

Bodyapplication/json
statusCodeintegerrequired
Example: 200
caseIDstringrequired
Example: "CON-1104"
messagestringrequired
Example: "Request is successful."
detailsstring
Example: "Inner Exceptions, Stack Trace, Json Schema etc"
Response
application/json
{ "statusCode": 200, "caseID": "CON-1104", "message": "Request is successful.", "details": "Inner Exceptions, Stack Trace, Json Schema etc" }

UpdateContribution

Request

This operation transfers the Contribution case details from external system to ePlanning system.

Path
CaseIDstringrequired

A fully qualified Contributions case number, format CON-xxxx.

Bodyapplication/jsonrequired
stepNamestring<= 32 charactersrequired

This indicates the steps involved in the contributions case lifecycle. These are given in the sequence as expected by the ePlanning system. To update the values for any step, the respective stepName and all corresponding data should be sent. Please refer to the reference data API for the latest values. Example values are 1.PlanAndDevelopment , 2.TotalUnits , 3.CalculateContribution , 4.FinaliseContribution .

isOverridePlansboolean

This is to track whether the consent authority has chosen to override automatically identified contributions plans. This attribute is applicable when stepName = 'PlanAndDevelopment' and unapplicable for other steps. When true is provided, plans sent by consent authority will be considered for processing. When false is provided, plans sent by consent authority will be ignored. When case is initiated by consent authority manually or via CreateContribution request to ePlanning system, this is not applicable and will be ignored.

planOverrideReasonstring<= 256 characters

This is to track the reason why consent authority chooses to override the system identified contributions plans. This is applicable and required for stepName = 'PlanAndDevelopment' and when isOverridePlans = true. It will be ignored for any other stepName. When case is initiated by consent authority, this is not applicable and will be ignored. Please refer to the reference data API for the latest values. Example values are - 1.New, revised contributions framework(s) apply 2.Different contributions framework(s) apply 3.Additional contributions framework(s) apply 4.Other

planOverrideReasonDescriptionstring<= 2000 characters

This indicates the detailed description for overriding the plans. This is applicable and required for stepName = 'PlanAndDevelopment' when isOverridePlans = true & planOverrideReason = Other. It will be ignored for any other stepName. When case is initiated by consent authority, this is not applicable and will be ignored.

contributionPlansArray of objects

This is to track the list of contribution plan identifiers. It is applicable and required for stepName = 'PlanAndDevelopment' & when isOverridePlans = true. This will be ignored for any other stepName. This is also required when case is initiated by consent authority manually or via CreateContribution request to ePlanning. Please refer to the reference data API for the latest values.

previousContributionInformationArray of strings<= 2048 characters

This is to track the previous arrangements which may impact contributions for new development. This attribute is applicable when stepName = 'PlanAndDevelopment' and will be ignored for any other stepName. Example values are - 1.Previous payment made for state contributions, 2.State planning agreement applies to the development.

isOverrideApplicantInputsboolean

This is to track if consent authority has chosen to update development inputs provided by applicant. This attribute is applicable when stepName = 'PlanAndDevelopment' and will be ignored for any other stepName. When true is provided, development details shared by consent authority will be considered for processing. When false is provided, development details shared by consent authority will be ignored. When case is initiated by consent authority manually or via CreateContribution request to ePlanning system, this is not applicable and will be ignored.

proposedDevelopmentArray of objects

This is applicable when stepName = 'PlanAndDevelopment' and isOverrideApplicantInputs is 'true' and will be ignored for any other stepName. If consent authority does not provide any data for this condition then ePlanning system processes data if provided by the applicant for this case. Please refer to the reference data API for the latest values.

stagesArray of objects

This is to track the number of stages of development in a Contribution case. This is applicable and required when stepName = 'PlanAndDevelopment' OR 'TotalUnits' OR 'CalculateContribution'. Note- multiple stages are not applicable under a Complying Develoment Certificate parent application.

isFinaliseContributionboolean

This is applicable and required when stepName = 'FinaliseContribution'. By providing 'true' for this attribute, consent authority is agreeing to all required declaration on the Housing and Productivity contribution calculation and accompanying documents is correct. The case will be closed and contribution details cannot be changed or revised once this attribute is submitted as 'true'.

documentsArray of objects(DownloadableDocument)

This is applicable for all the steps and not mandatory. But, please note that for StepName = 'PlanAndDevelopment', previousContributionsInformation is required to upload a document and for stepName = 'CalculateContribution', assessedAmount should be greater than $0.00 to upload a document.

updatedByEmailstring<= 250 charactersrequired

This is to track the Email ID of the user triggering the request. User must be registered in the planning portal.

curl -i -X PUT \
  'https://api-uat.apps1.nsw.gov.au/planning/Common/v2/UpdateContribution/{CaseID}' \
  -H 'Content-Type: application/json' \
  -d '{
    "stepName": "string",
    "isOverridePlans": true,
    "planOverrideReason": "string",
    "planOverrideReasonDescription": "string",
    "contributionPlans": [
      {
        "planId": "string"
      }
    ],
    "previousContributionInformation": [
      "string"
    ],
    "isOverrideApplicantInputs": true,
    "proposedDevelopment": [
      {
        "developmentCategory": "string",
        "developmentTypes": [
          {
            "developmentType": "string"
          }
        ]
      }
    ],
    "stages": [
      {
        "proposedDevelopmentUses": [
          {
            "planId": "string",
            "developmentType": "string",
            "unitOfCharge": "string",
            "totalUnits": 0
          }
        ],
        "isExistingDevelopment": true,
        "existingDevelopment": [
          {
            "developmentCategory": "string",
            "developmentTypes": [
              {
                "developmentType": "string"
              }
            ]
          }
        ],
        "existingDevelopmentUses": [
          {
            "planId": "string",
            "developmentType": "string",
            "unitOfCharge": "string",
            "totalUnits": 0
          }
        ],
        "contributionAssessmentDetails": [
          {
            "planId": "string",
            "assessedAmount": 0,
            "timingOfPayment": "string",
            "assessedAmountReason": "string"
          }
        ],
        "assessedAmountReasonDescription": "string"
      }
    ],
    "isFinaliseContribution": true,
    "documents": [
      {
        "documentName": "string",
        "documentType": "string",
        "uploadedDateTime": "2019-08-24T14:15:22Z",
        "documentURL": "http://example.com"
      }
    ],
    "updatedByEmail": "string"
  }'

Responses

Contribution Case updated successfully.

Bodyapplication/json
statusCodeintegerrequired
Example: 200
messagestringrequired
Example: "Request is successful."
activityIdstringrequired
Example: "CON-1104"
detailsstring
Example: "Inner Exceptions, Stack Trace, Json Schema etc"
Response
application/json
{ "statusCode": 200, "message": "Request is successful.", "activityId": "CON-1104", "details": "Inner Exceptions, Stack Trace, Json Schema etc" }