Get multiple permits
GET
/{organizationNickname}/projects/{projectId}/permits
const url = 'https://app.civillo.com/api/v1/example/projects/1/permits?pageSize=50&pageNumber=1';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://app.civillo.com/api/v1/example/projects/1/permits?pageSize=50&pageNumber=1' \ --header 'Authorization: Bearer <token>'Returns a paginated list of permits.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”organizationNickname
required
string
projectId
required
integer
Query Parameters
Section titled “Query Parameters”targetUserId
string format: uuid
excludeIds
Array<integer>
statuses
Array<integer>
name
string
types
Array<string>
creatorId
string format: uuid
holderId
string
showArchived
boolean
startDateFrom
string format: date-time
startDateUntil
string format: date-time
expiryDateFrom
string format: date-time
expiryDateUntil
string format: date-time
pageSize
integer
pageNumber
integer
Responses
Section titled “ Responses ”A paginated list of permits.
Media typeapplication/json
object
pageNumber
integer
pageSize
integer
totalCount
integer
totalPages
integer
items
Array<object>
object
id
integer
uuid
string format: uuid
name
string
template
object
id
integer
name
string
description
string
status
integer
description
string
startTime
string format: date-time
expiryDate
string format: date-time
renewalTime
string format: date-time
timesRenewed
integer
maxRenewals
integer
renewalsRemaining
integer
requesterId
string format: uuid
holderId
string format: uuid
specifiedHolderId
string format: uuid
geometry
string
documentUrl
string format: uri
civilloUrl
string format: uri
archived
boolean
holdable
boolean
cancellable
boolean
allowCopy
boolean
copiedFrom
string format: uuid
daysValid
number format: float
validTime
The renewal period in whole hours, rounded down. Null if the permit never requires renewal.
integer
validTimeMinutes
The exact renewal period in minutes. Omitted if the permit never requires renewal.
integer
lapsed
boolean
Examplegenerated
{ "pageNumber": 1, "pageSize": 1, "totalCount": 1, "totalPages": 1, "items": [ { "id": 1, "uuid": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example", "template": { "id": 1, "name": "example", "description": "example" }, "status": 1, "description": "example", "startTime": "2026-04-15T12:00:00Z", "expiryDate": "2026-04-15T12:00:00Z", "renewalTime": "2026-04-15T12:00:00Z", "timesRenewed": 1, "maxRenewals": 1, "renewalsRemaining": 1, "requesterId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "holderId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "specifiedHolderId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "geometry": "example", "documentUrl": "https://example.com", "civilloUrl": "https://example.com", "archived": true, "holdable": true, "cancellable": true, "allowCopy": true, "copiedFrom": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "daysValid": 1, "validTime": 1, "validTimeMinutes": 1, "lapsed": true } ]}Unauthorized