0% found this document useful (0 votes)
2 views9 pages

OPAL API Reference

The OPAL REST API Reference document provides guidelines for integrating with the Oracle Permitting and Licensing (OPAL) system in the Dev1 environment, detailing how to access permit and license details at various levels (header, line, and attachment). It includes sample API calls, authentication methods, and integration notes for building out the OIC orchestration. Key resources and methods for retrieving data related to permits, licenses, invoices, and attachments are outlined, along with best practices for using the API effectively.

Uploaded by

pavankumar M.R
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views9 pages

OPAL API Reference

The OPAL REST API Reference document provides guidelines for integrating with the Oracle Permitting and Licensing (OPAL) system in the Dev1 environment, detailing how to access permit and license details at various levels (header, line, and attachment). It includes sample API calls, authentication methods, and integration notes for building out the OIC orchestration. Key resources and methods for retrieving data related to permits, licenses, invoices, and attachments are outlined, along with best practices for using the API effectively.

Uploaded by

pavankumar M.R
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

OPAL REST API Reference — Dev1

OPAL REST API Integration Reference


Permit & License Details — Header, Line & Attachment Level

Environment: Dev1 (mpgfa-iabunf-dev1)


Module: Oracle Permitting and Licensing (OPAL)
Prepared for OIC orchestration design
June 30, 2026

Page 1
OPAL REST API Reference — Dev1

Table of Contents
TOC \h \o "1-3"HYPERLINK "" \l "_Toc233724944"Table of Contents PAGEREF _Toc233724944 \h 2
1. Environment & Base URL................................................................................................................. 3
2. Header Level — Permit & License Records......................................................................................4
Sample — Permit Header.............................................................................................................. 4
Sample — License Header (Business License Record)................................................................4
3. Line Level — Fee & Billing................................................................................................................ 6
Sample — Invoice Header with Bill Lines (?expand=BillLine).......................................................6
4. Attachment Level............................................................................................................................... 7
Sample — Permit Attachment with Accessor................................................................................ 7
5. Related — Contractor License & Business License Setup...............................................................8
6. Integration Notes for OIC Build-Out.................................................................................................. 9

Page 2
OPAL REST API Reference — Dev1

1. Environment & Base URL


This reference documents Oracle Permitting and Licensing (OPAL) REST APIs for retrieving permit and
license details at the header, line (fee/billing), and attachment levels, using the Dev1 environment below as
the base endpoint. Paths follow Oracle's documented Permitting and Licensing REST resource structure.

Item Value
Base URL [Link]

REST root /fscmRestApi/resources/[Link]

Module Oracle Permitting and Licensing (OPAL)

Authentication Basic Auth or OAuth2, configured via the OIC connection's


security policy

Reference release Confirm paths against this pod's actual REST endpoint list (e.g.
26B)

No live calls were made against this endpoint while preparing this reference. All sample payloads below
are illustrative — built from Oracle's documented schema, not captured from a real response — and
should be checked against this pod's live “describe” metadata (see Section 6) before integration build-
out.

Page 3
OPAL REST API Reference — Dev1

2. Header Level — Permit & License Records


Permits and licenses share the same underlying “Records” model and are distinguished by classification.
Business licenses also have a dedicated, lighter-weight resource variant.

Resource Method Full URL


Permit GET [Link]
publicSectorRecords/{LnpRecordKey}
header
License GET [Link]
publicSectorRecords/{LnpRecordKey}
header
(generic)
License GET [Link]
publicSectorBlRecords/{LnpRecordKey}
header (BL-
specific)
License GET [Link]
publicSectorBusinessLicenses/{LnpRecordId}
header
(lightweight)
To list only license-classified records from the generic resource, filter by classification, e.g.: [Link]
[Link]/fscmRestApi/resources/[Link]/publicSectorRecords?
q=Classification='BusinessLicense'

Sample — Permit Header


{
"LnpRecordKey": 300000123456789,
"LnpRecordId": "BLD-2026-04211",
"RecordNumber": "BLD-2026-04211",
"Description": "Residential addition - 2nd floor",
"Classification": "Permit",
"AgencyId": "CityOfSampleAgency",
"Status": "Issued",
"ApplicantPartyId": 300000009988776,
"IssuedDate": "2026-05-12",
"ExpirationDate": "2027-05-12",
"ExpirationGraceDate": "2027-06-12",
"ExpirationStatus": "Active",
"links": [
{ "rel": "self", "href":
"[Link]
publicSectorRecords/300000123456789" },
{ "rel": "describe", "href":
"[Link]
publicSectorRecords/describe" }
]
}

Sample — License Header (Business License Record)


{
"LnpRecordKey": 300000123456999,
"LnpRecordId": "BL-2026-00873",
"Description": "Retail business license - renewal",
"Classification": "BusinessLicense",
"AgencyId": "CityOfSampleAgency",
"OverallStatus": "Active",
"IssuedDate": "2026-01-15",
"RenewalDate": "2027-01-15",
"BusinessLocation": [

Page 4
OPAL REST API Reference — Dev1

{
"LnpBusinessLocationKey": 7001,
"AddressLine1": "123 Main St",
"City": "Sampleville"
}
]
}

Page 5
OPAL REST API Reference — Dev1

3. Line Level — Fee & Billing


Permit and license fees are modeled as an invoice header with bill line children — the closest REST
equivalent to an AP invoice header and lines.

Resource Meth Full URL


od
Invoice header GET [Link]
[Link]/publicSectorInvoices/{publicSectorInvoicesUniqID}

Invoice header GET [Link]


[Link]/publicSectorInvoices?q=AgencyId=...;Invoice=...;BillType=...
(filtered)
Bill lines GET [Link]
[Link]/publicSectorInvoices/{publicSectorInvoicesUniqID}/child/BillLine

The Invoices resource uses a composite key (AgencyId, Invoice, BillType) that is an opaque, server-
generated hash. Query the collection with the filter shown above to locate the record — do not attempt to
construct the hash key directly.

Sample — Invoice Header with Bill Lines (?expand=BillLine)


{
"AgencyId": "CityOfSampleAgency",
"Invoice": "INV-2026-00456",
"BillType": "Permit",
"PersonName": "John Smith",
"InvoiceAmount": 450.00,
"BalanceAmount": 125.00,
"BillLine": [
{
"FeeCode": "PLAN_REVIEW",
"FeeDescription": "Plan review fee",
"LineAmount": 250.00,
"PaidAmount": 250.00
},
{
"FeeCode": "PERMIT_FEE",
"FeeDescription": "Base permit fee",
"LineAmount": 200.00,
"PaidAmount": 75.00
}
]
}

Page 6
OPAL REST API Reference — Dev1

4. Attachment Level
Permit attachments are tracked in a dedicated registry, with file content and version history exposed as
nested children.

Reso Me Full URL


urce tho
d
Perm GE [Link]
[Link]/publicSectorPermitAllAttachments
it T
attac
hmen
ts
Attac GE [Link]
[Link]/publicSectorPermitAllAttachments/{uniqID}/child/
hmen T LnpAllAttachmentAccessor/{AttachedDocumentId}
t
acce
ssor
(file)
Attac GE .../LnpAllAttachmentAccessor/{AttachedDocumentId}/child/AttachmentsRevision
hmen T
t
revisi
on
Like Invoices, this resource uses a composite key (AttachmentId, AttachmentKey). Query by the permit's
LnpRecordKey as AttachmentKey to list its attachments, e.g. ?q=AttachmentKey=300000123456789,
then drill into the accessor for file content.

Sample — Permit Attachment with Accessor


{
"AttachmentId": 5001,
"AttachmentKey": 300000123456789,
"FileName": "[Link]",
"DocCategoryCode": "PLANS",
"CreationDate": "2026-04-18T10:32:00Z",
"LnpAllAttachmentAccessor": [
{
"AttachedDocumentId": 90011,
"UploadedFileContentType": "application/pdf",
"Url": "[Link]
[Link]/publicSectorPermitAllAttachments/5001/child/LnpAllAttachmentAccessor/90011/
enclosure/FileContents"
}
]
}

A confirmed BL-specific equivalent of publicSectorPermitAllAttachments was not found in the


documentation reviewed for this reference. Check this pod's endpoint list for a BL-prefixed attachments
resource, or test whether a license's LnpRecordKey works directly as AttachmentKey against the same
resource.

Page 7
OPAL REST API Reference — Dev1

5. Related — Contractor License & Business License Setup


Supplementary resources for trade/contractor credential validation, often relevant when a permit or
business license application requires an attached contractor license.

Reso Method Full URL


urce
Contr GET [Link]
resources/[Link]/publicSectorContractorLicenses/{LicenseKey}
actor
licens
e
registr
y
Contr GET [Link]
resources/[Link]/publicSectorContractorLicenses/{LicenseKey}/
actor child/ContractorLicenseFacts
licens
e
facts
Contr GET / PATCH [Link]
resources/[Link]/publicSectorContractorLicenses/{LicenseKey}/
actor child/ContractorLicenseInsurances/{LicenseInsuranceKey}
licens
e
insura
nce
Recor GET [Link]
resources/[Link]/publicSectorRecords/{LnpRecordKey}/child/
d- RecordContractorLicense/{LnpLicenseKey}
level
contra
ctor
licens
e
Contr GET [Link]
resources/[Link]/publicSectorContractorOptions
actor
valida
tion
setup
Busin GET [Link]
resources/[Link]/publicSectorBusinessLicenses
ess
licens
e
(lightw
eight)

Page 8
OPAL REST API Reference — Dev1

6. Integration Notes for OIC Build-Out


Five points worth designing for up front rather than discovering mid-build:
1. Dynamic agency endpoint: most nested record children (RecordContractorLicense, comments,
parcels) reject standard create/update/delete on the generic publicSectorRecords path. Use the
agency's dynamic endpoint instead:
[Link]
ID><Record Type Code>_c. Build a lookup of Agency ID and Record Type Code per permit/license
type rather than hardcoding one path.
2. Composite/hash keys: Invoices and PermitAllAttachments use opaque, server-generated composite
keys. Always resolve the item via a filtered query on the collection first; never construct the key
client-side.
3. Live schema via “describe”: every response includes a links array with a describe relation pointing
to that resource's live schema on this pod. Treat it as the authoritative field list over any static
reference, including this document.
4. Combine header and children with ?expand: use the expand query parameter (e.g. ?
expand=BillLine or ?expand=RecordContractorLicense) to pull header and selected child
collections in a single call instead of round-tripping per child.
5. Release versioning: confirm every path in this document against the REST API guide for this pod's
actual release (e.g. 26B). Oracle aims for cross-release compatibility but does not guarantee it; My
Oracle Support Document ID 2853758.1 tracks REST API changes release to release.

Page 9

You might also like