Documentation
  1. API
  • Visitor Management API
    • Getting Started
      • Overview
    • API Reference
      • Logs
        • Get filtered Events logs
      • Accesses
        • Create new QR Access
      • Users
        • Create new Property Manager
        • Update existing Property Manager
    • External Visits
      • External NFC Visit
  • Visitor Management Webhooks
    • Getting started with webhooks
    • Security & Signature Verification
  • Work Permit DAMAC integration
    • API
      • Create contractor
        POST
      • Revoke contractor
        PATCH
      • Create NOC / fit-out permit
        POST
      • Get permit (reconciliation)
        GET
      • Update permit — dates / NOC
        PATCH
      • Revoke or reissue a permit pass
        PATCH
    • Webhooks
      • passes.permits.issued
      • passes.permits.updated
      • passes.permits.expiring
      • passes.permits.expired
      • passes.permits.scanned
      • passes.permits.firstScanned
      • passes.permits.lastScanned
      • communityContractors.approved
      • communityContractors.removed
  1. API

Create NOC / fit-out permit

POST
/permits
[N-01 … N-04] Submit a NOC / fit-out permit from Salesforce.
The permit is created as a DRAFT so it can be completed and then submitted into the approval workflow (PATCH /passes/{id} with { "action": "submit" }, which requires validFrom, validTill, timeIn, timeOut, representativeName, representativeContact, and at least one employee).
Reference resolution — supply DAMAC identifiers and Buzz-In maps them:
Contractor: contractorSalesforceId or communityContractorId (must exist, belong to the community, and be approved).
Property: propertyExternalId or propertyId (must be in the admin's community).
Unit: flatExternalId or flatId (must belong to the resolved property). Extra units for multi-unit permits via additionalFlatExternalIds[] / additionalFlatIds[].
Validation — validFrom/validTill are required, must be valid dates, validTill must be future-dated and not before validFrom. Unmapped references → 404.
Idempotency — pass salesforcePermitId; a duplicate returns 409 Conflict. The NOC document and Salesforce id are stored under integrations.damac.

Request

Body Params application/jsonRequired

Examples

Responses

🟢201Created
application/json
Permit created as DRAFT.
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🟠404Record Not Found
🟠409
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/permits' \
--header 'Content-Type: application/json' \
--data '{
    "salesforcePermitId": "a1B5g000000XYZWEAW",
    "contractorSalesforceId": "a0B5g000000ABCDEAW",
    "propertyExternalId": "DAMAC-TWR-07",
    "flatExternalId": "UNIT-0712",
    "validFrom": "2026-07-01T06:00:00.000Z",
    "validTill": "2026-07-31T18:00:00.000Z",
    "jobsSummary": "Full interior fit-out of unit 0712.",
    "noc": {
        "type": "url",
        "url": "https://files.example.com/noc-12345.pdf",
        "nocNumber": "NOC-12345",
        "issueDate": "2026-06-20",
        "expiryDate": "2026-08-20"
    }
}'
Response Response Example
201 - Success Example
{
    "_id": "66f0a1b2c3d4e5f600000abc",
    "status": 10,
    "communityContractorId": "66f0a1b2c3d4e5f600000001",
    "propertyId": "66e0000000000000000000a1",
    "flatId": "66e0000000000000000000b2",
    "validFrom": "2026-07-01T06:00:00.000Z",
    "validTill": "2026-07-31T18:00:00.000Z",
    "integrations": {
        "damac": {
            "salesforceId": "a1B5g000000XYZWEAW",
            "noc": {
                "document": {
                    "publicUrl": "https://files.example.com/noc-12345.pdf"
                },
                "nocNumber": "NOC-12345"
            }
        }
    }
}
Previous
Revoke contractor
Next
Get permit (reconciliation)
Built with