| email required | string <email> |
| name required | string |
| password required | string >= 6 characters |
| accountType required | object User-facing intent for the account. Only AGENT and PROVIDER are user-facing in the UI. |
{- "email": "user@example.com",
- "name": "string",
- "password": "string",
- "accountType": { }
}| otpToken required | string |
| email required | string <email> |
| name required | string |
| password required | string >= 8 characters |
| accountType required | object |
| inviteCode | string |
| useCases | Array of objects |
{- "otpToken": "string",
- "email": "user@example.com",
- "name": "string",
- "password": "stringst",
- "accountType": { },
- "inviteCode": "string",
- "useCases": [
- { }
]
}| email required | string <email> |
| name required | string |
| password required | string >= 6 characters |
| accountType required | object |
{- "email": "user@example.com",
- "name": "string",
- "password": "string",
- "accountType": { }
}| id required | string |
string <email> | |
| name | string |
| avatarUrl | string |
| accountType | object |
{- "email": "user@example.com",
- "name": "string",
- "avatarUrl": "string",
- "accountType": { }
}| orgId required | string |
| email required | string <email> |
| role | object |
| inviteType | object |
{- "email": "user@example.com",
- "role": { },
- "inviteType": { }
}| orgId required | string |
| name | string |
| legalName | string |
| slug | string |
| logoUrl | string |
| websiteUrl | string |
| phone | string |
| primaryEmail | string |
| addressLine1 | string |
| addressLine2 | string |
| city | string |
| region | string |
| postalCode | string |
| countryCode | string |
| lat | number |
| lng | number |
| timezone | string |
| serviceArea | object |
{- "name": "string",
- "legalName": "string",
- "slug": "string",
- "logoUrl": "string",
- "websiteUrl": "string",
- "phone": "string",
- "primaryEmail": "string",
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0,
- "timezone": "string",
- "serviceArea": { }
}| projectId required | string |
| key required | string |
| filename required | string |
| size required | number |
| type required | object |
| cdnUrl | string |
{- "key": "string",
- "cdnUrl": "string",
- "filename": "string",
- "size": 0,
- "type": { }
}| id required | string |
| content required | string |
| channel | object |
| thread | string or null |
{- "content": "string",
- "channel": { },
- "thread": "string"
}{ }| scheduledTime required | string |
| addressLine1 | string |
| addressLine2 | string |
| city | string |
| region | string |
| postalCode | string |
| countryCode | string |
| lat | number |
| lng | number |
| notes | string |
| customerId | string |
| projectManagerId | string |
| technicianId | string |
| editorId | string |
{- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0,
- "notes": "string",
- "scheduledTime": "string",
- "customerId": "string",
- "projectManagerId": "string",
- "technicianId": "string",
- "editorId": "string"
}| id required | string |
| addressLine1 | string |
| addressLine2 | string |
| city | string |
| region | string |
| postalCode | string |
| countryCode | string |
| lat | number |
| lng | number |
| notes | string |
| scheduledTime | string |
{- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0,
- "notes": "string",
- "scheduledTime": "string"
}| addressLine1 required | string |
| scheduledTime required | string |
| mediaTypes required | Array of strings |
| priority required | string Enum: "standard" "rush" "urgent" |
| providerOrgId | string |
| customerId | string |
object (NewCustomerDto) | |
| addressLine2 | string |
| city | string |
| region | string |
| postalCode | string |
| countryCode | string |
| lat | number |
| lng | number |
| estimatedDuration | number |
| schedulingMode | string Enum: "scheduled" "requested" |
| notes | string |
| technicianId | string |
| editorId | string |
| projectManagerId | string |
| packageId | string |
| addOnIds | Array of strings |
| addOnQuantities | object |
| idempotencyKey | string |
{- "providerOrgId": "string",
- "customerId": "string",
- "newCustomer": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "notes": "string"
}, - "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0,
- "scheduledTime": "string",
- "estimatedDuration": 0,
- "schedulingMode": "scheduled",
- "mediaTypes": [
- "string"
], - "priority": "standard",
- "notes": "string",
- "technicianId": "string",
- "editorId": "string",
- "projectManagerId": "string",
- "packageId": "string",
- "addOnIds": [
- "string"
], - "addOnQuantities": { },
- "idempotencyKey": "string"
}{ }| addressLine1 required | string |
| scheduledTime required | string |
| mediaTypes required | Array of strings |
| priority required | string Enum: "standard" "rush" "urgent" |
| providerOrgId | string |
| customerId | string |
object (NewCustomerDto) | |
| addressLine2 | string |
| city | string |
| region | string |
| postalCode | string |
| countryCode | string |
| lat | number |
| lng | number |
| estimatedDuration | number |
| schedulingMode | string Enum: "scheduled" "requested" |
| notes | string |
| technicianId | string |
| editorId | string |
| projectManagerId | string |
| packageId | string |
| addOnIds | Array of strings |
| addOnQuantities | object |
| idempotencyKey | string |
{- "providerOrgId": "string",
- "customerId": "string",
- "newCustomer": {
- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "notes": "string"
}, - "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "region": "string",
- "postalCode": "string",
- "countryCode": "string",
- "lat": 0,
- "lng": 0,
- "scheduledTime": "string",
- "estimatedDuration": 0,
- "schedulingMode": "scheduled",
- "mediaTypes": [
- "string"
], - "priority": "standard",
- "notes": "string",
- "technicianId": "string",
- "editorId": "string",
- "projectManagerId": "string",
- "packageId": "string",
- "addOnIds": [
- "string"
], - "addOnQuantities": { },
- "idempotencyKey": "string"
}| name | string |
string <email> | |
| phone | string |
| notes | string |
| userId | string |
{- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "notes": "string",
- "userId": "string"
}{ }| id required | string |
| name | string |
string <email> | |
| phone | string |
| notes | string |
{- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "notes": "string"
}| projectId required | string |
| content required | string |
| channel | object |
| thread | string or null |
{- "projectId": "string",
- "content": "string",
- "channel": { },
- "thread": "string"
}{ }| name required | string |
| email required | string <email> |
| phone | string |
| address | string |
| message | string |
{- "name": "string",
- "email": "user@example.com",
- "phone": "string",
- "address": "string",
- "message": "string"
}| key required | string |
| filename required | string |
| size required | number |
| type required | object |
| projectId required | string |
| cdnUrl | string |
{- "key": "string",
- "cdnUrl": "string",
- "filename": "string",
- "size": 0,
- "type": { },
- "projectId": "string"
}[- {
- "id": "string",
- "type": { },
- "orgId": "string",
- "orgName": "string",
- "orgType": { },
- "createdAt": "2019-08-24T14:15:22Z",
- "readAt": "2019-08-24T14:15:22Z",
- "invitationId": "string",
- "role": { },
- "projectId": "string",
- "projectAddress": "string",
- "assignedRole": { },
- "messagePreview": "string",
- "messageChannel": { },
- "approverName": "string",
- "deliveryToken": "string"
}
]| name required | string Package name |
| price required | number Price in cents |
| mediaTypes required | Array of strings Items Enum: "PHOTO" "VIDEO" "FLOORPLAN" "DOCUMENT" "VIRTUAL_TOUR" Included media types |
| description | string Package description |
| currency | string Currency code (default: usd) |
| turnaroundDays | number Turnaround time in days |
| photoCount | number Number of photos included |
| videoMinutes | number Minutes of video included |
| features | Array of strings Feature list |
| images | Array of strings Image URLs |
| displayOrder | number Display order |
{- "name": "string",
- "description": "string",
- "price": 0,
- "currency": "string",
- "mediaTypes": [
- "PHOTO"
], - "turnaroundDays": 0,
- "photoCount": 0,
- "videoMinutes": 0,
- "features": [
- "string"
], - "images": [
- "string"
], - "displayOrder": 0
}| name required | string Add-on name |
| price required | number Price in cents |
| description | string Add-on description |
| currency | string Currency code (default: usd) |
| category | string Enum: "AERIAL" "TWILIGHT" "VIRTUAL_TOUR" "FLOORPLAN" "RUSH" "OTHER" Add-on category |
| displayOrder | number Display order |
{- "name": "string",
- "description": "string",
- "price": 0,
- "currency": "string",
- "category": "AERIAL",
- "displayOrder": 0
}| id required | string |
| name | string Package name |
| description | string Package description |
| price | number Price in cents |
| currency | string Currency code |
| mediaTypes | Array of strings Items Enum: "PHOTO" "VIDEO" "FLOORPLAN" "DOCUMENT" "VIRTUAL_TOUR" Included media types |
| isActive | boolean Whether package is active |
| turnaroundDays | number Turnaround time in days |
| photoCount | number Number of photos included |
| videoMinutes | number Minutes of video included |
| features | Array of strings Feature list |
| images | Array of strings Image URLs |
| displayOrder | number Display order |
{- "name": "string",
- "description": "string",
- "price": 0,
- "currency": "string",
- "mediaTypes": [
- "PHOTO"
], - "isActive": true,
- "turnaroundDays": 0,
- "photoCount": 0,
- "videoMinutes": 0,
- "features": [
- "string"
], - "images": [
- "string"
], - "displayOrder": 0
}| id required | string |
| name | string Add-on name |
| description | string Add-on description |
| price | number Price in cents |
| currency | string Currency code |
| category | string Enum: "AERIAL" "TWILIGHT" "VIRTUAL_TOUR" "FLOORPLAN" "RUSH" "OTHER" Add-on category |
| isActive | boolean Whether add-on is active |
| displayOrder | number Display order |
{- "name": "string",
- "description": "string",
- "price": 0,
- "currency": "string",
- "category": "AERIAL",
- "isActive": true,
- "displayOrder": 0
}| isAvailable required | boolean |
| availabilityNote | string or null |
| autoDeclineBookings | boolean |
{- "isAvailable": true,
- "availabilityNote": "string",
- "autoDeclineBookings": true
}{ }| dayOfWeek required | object |
| isEnabled required | boolean |
| startTime required | string/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/ |
| endTime required | string/^([01]?[0-9]|2[0-3]):[0-5][0-9]$/ |
{- "dayOfWeek": { },
- "isEnabled": true,
- "startTime": "string",
- "endTime": "string"
}{ }{- "project": {
- "id": "string",
- "addressLine1": "string",
- "city": "string",
- "region": "string",
- "scheduledTime": "2019-08-24T14:15:22Z",
- "status": { },
- "clientApprovalStatus": { },
- "clientApprovedAt": "2019-08-24T14:15:22Z",
- "deliveryEnabledAt": "2019-08-24T14:15:22Z"
}, - "organization": {
- "id": "string",
- "name": "string",
- "logoUrl": "string",
- "primaryEmail": "string",
- "phone": "string"
}, - "media": [
- {
- "id": "string",
- "key": "string",
- "cdnUrl": "string",
- "externalUrl": "string",
- "filename": "string",
- "size": 0,
- "type": { },
- "createdAt": "2019-08-24T14:15:22Z"
}
], - "comments": [
- {
- "id": "string",
- "content": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "user": {
- "id": "string",
- "name": "string",
- "avatarUrl": "string"
}
}
], - "customer": {
- "id": "string",
- "name": "string",
- "email": "string"
}, - "canApprove": true,
- "canComment": true,
- "downloadEnabled": true,
- "canRetryArtifact": true
}| token required | string |
| content required | string Comment content |
{- "content": "string"
}{- "id": "string",
- "content": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "user": {
- "id": "string",
- "name": "string",
- "avatarUrl": "string"
}
}| token required | string |
| mediaTypes | Array of strings Items Enum: "PHOTO" "VIDEO" "FLOORPLAN" "DOCUMENT" "VIRTUAL_TOUR" Filter download by media types |
{- "mediaTypes": [
- "PHOTO"
]
}| tourTrack required | object |
| stepId required | string |
| completed | boolean |
| skipped | boolean |
{- "tourTrack": { },
- "stepId": "string",
- "completed": true,
- "skipped": true
}