Propertyware Documents API
Resources providing access to documents.
Resources providing access to documents.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/propertyware-documents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: "\uFEFF\n\n# Introduction\n\nWelcome to Propertyware’s API—a powerful, RESTful programming interface that lets you leverage valuable Propertyware data."
version: '1.0'
title: Open API, powered by Propertyware Documents API
contact:
name: Propertyware
email: support@propertyware.com
x-logo:
url: logo.png
backgroundColor: '#fff'
altText: Propertyware, A RealPage Company
href: https://www.propertyware.com
servers:
- url: https://api.propertyware.com/pw/api/rest/v1
security:
- clientId: []
- clientSecret: []
- organizationId: []
tags:
- name: Documents
description: Resources providing access to documents.
paths:
/docs:
get:
tags:
- Documents
summary: Retrieve all documents
description: 'Retrieves a list of documents associated with a specific entity.
Required permission:
DOCUMENTS - Read
Sortable by: createddate, lastmodifieddatetime, id'
operationId: retrieveAllDocuments
parameters:
- name: offset
in: query
description: '`offset` indicates the position of the first record to return. The offset is zero-based and the default is 0.'
required: false
schema:
type: integer
format: int32
- name: limit
in: query
description: '`limit` indicates the maximum number of results to be returned in the response. `limit` can range between 1 and 500 and the default is 100.'
required: false
schema:
type: integer
format: int32
default: 100
- name: lastModifiedDateTimeStart
in: query
description: 'Filters results to any item modified on or after the date time specified. '
required: false
schema:
type: string
format: date-time
- name: lastModifiedDateTimeEnd
in: query
description: 'Filters results to any item modified on or prior to the date time specified. '
required: false
schema:
type: string
format: date-time
- name: orderby
in: query
description: Indicates the field(s) and direction to sort the results in the response.
required: false
schema:
type: string
- name: entityType
in: query
description: Filters results to documents associated with a specific entity type.
required: true
schema:
type: string
enum:
- APPOINTMENT
- ASSET
- BILL
- BANK_DEPOSIT
- BILL_PAYMENT
- BUILDING
- CONTACT
- FLOOR_PLAN
- DESKTOP
- EMAIL_TEMPLATE
- INSPECTION
- LEASE
- OTHER
- PORTFOLIO
- PROSPECT
- RECONCILIATION
- TASK
- TRANSACTION
- UNIT
- VENDOR
- WORK_ORDER
- name: entityId
in: query
description: Filters results to documents associated with a specific entity id. entity ID is not required for “DESKTOP” and “OTHER”. Remaining entities need “entity ID”.
required: false
schema:
type: integer
format: int64
responses:
'200':
description: OK
headers:
X-Total-Count:
description: The total resultset count
schema:
type: integer
format: int64
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Document'
'400':
description: Unable to process the request due to malformed request syntax or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: The API key couldn't be authorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The supplied credentials don't have permissions to access the resources.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
tags:
- Documents
summary: Upload a document
description: 'Upload a document
Required permission:
DOCUMENTS - Write'
operationId: uploadDocument
parameters:
- name: entityId
in: query
description: Unique identifier of an entity document is attached to.
required: true
schema:
type: integer
format: int64
- name: publishToTenantPortal
in: query
description: Indicates if the document is published to the tenant portal.
required: false
schema:
type: boolean
- name: publishToOwnerPortal
in: query
description: Indicates if the document is published to the owner portal.
required: false
schema:
type: boolean
- name: entityType
in: query
description: Entity type Document is attached to (Asset, Bill, Bank Deposit, Building, Desktop, Lease, Owner, Portfolio, Prospect, Prospect Contact, Tenant, Unit, Vendor, Check, Credit, Service Agreement, Journal Entry, Work Order)
required: true
schema:
type: string
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
description: file
type: string
format: binary
required:
- file
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Document'
'400':
description: Unable to process the request due to malformed request syntax or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: The API key couldn't be authorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The supplied credentials don't have permissions to access the resources.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/docs/{documentId}:
get:
tags:
- Documents
summary: Retrieve a document
description: 'Retrieves the metadata of a specific document.
Required permission:
DOCUMENTS - Read'
operationId: retrieveDocument
parameters:
- name: documentId
in: path
description: ID of the document to retrieve
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Document'
'400':
description: Unable to process the request due to malformed request syntax or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: The API key couldn't be authorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The supplied credentials don't have permissions to access the resources.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Entity not found.
put:
tags:
- Documents
summary: Update a document
description: 'Updates the metadata of a specific document.
Required permission:
DOCUMENTS - Write'
operationId: updateDocument
parameters:
- name: documentId
in: path
description: ID of the document to be updated
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDocument'
description: updateDocument
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Document'
'400':
description: Unable to process the request due to malformed request syntax or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: The API key couldn't be authorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The supplied credentials don't have permissions to access the resources.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Entity not found.
delete:
tags:
- Documents
summary: Delete a document (BETA)
description: 'Note: Write access is only available to customers who have opted in to our beta program. Please reach out to support if you''d like to be included.
Deletes a specific document and its associated content.
Required permission:
DOCUMENTS - Delete'
operationId: deleteDocument
parameters:
- name: documentId
in: path
description: ID of the document to delete
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntity'
'204':
description: No Content
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntity'
'400':
description: Unable to process the request due to malformed request syntax or invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: The API key couldn't be authorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The supplied credentials don't have permissions to access the resources.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Entity not found.
/docs/{documentId}/download:
get:
tags:
- Documents
summary: Download a document
description: 'Retrieve a temporary download URL for a specific document.
Required permission:
DOCUMENTS - Read'
operationId: downloadDocument
parameters:
- name: documentId
in: path
description: ID of the document to download
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
headers:
X-Document-Type:
description: Header indicates the type of a document
schema:
type: string
X-Document-Name:
description: Header indicates the name of a document
schema:
type: string
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ResponseEntity'
application/json:
schema:
$ref: '#/components/schemas/ResponseEntity'
'400':
description: Unable to process the request due to malformed request syntax or invalid parameters.
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: The API key couldn't be authorized.
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The supplied credentials don't have permissions to access the resources.
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Entity not found.
components:
schemas:
ResponseEntity:
type: object
properties:
body:
type: object
statusCode:
type: string
enum:
- '100'
- '101'
- '102'
- '103'
- '200'
- '201'
- '202'
- '203'
- '204'
- '205'
- '206'
- '207'
- '208'
- '226'
- '300'
- '301'
- '302'
- '303'
- '304'
- '305'
- '307'
- '308'
- '400'
- '401'
- '402'
- '403'
- '404'
- '405'
- '406'
- '407'
- '408'
- '409'
- '410'
- '411'
- '412'
- '413'
- '414'
- '415'
- '416'
- '417'
- '418'
- '419'
- '420'
- '421'
- '422'
- '423'
- '424'
- '426'
- '428'
- '429'
- '431'
- '500'
- '501'
- '502'
- '503'
- '504'
- '505'
- '506'
- '507'
- '508'
- '509'
- '510'
- '511'
RESTAPIError:
type: object
properties:
key:
type: string
message:
type: string
UpdateDocument:
type: object
required:
- fileName
properties:
description:
type: string
description: Description of the document.
fileName:
type: string
description: Name of the document.
publishToOwnerPortal:
type: boolean
example: false
description: Indicates if the document is published to the owner portal.
publishToTenantPortal:
type: boolean
example: false
description: Indicates if the document is published to the tenant portal.
description: 'Update Document '
ErrorResponse:
type: object
properties:
errorCode:
type: string
errors:
type: array
items:
$ref: '#/components/schemas/RESTAPIError'
userMessage:
type: string
Document:
type: object
properties:
createdBy:
type: string
description: User who created the record.
createdDateTime:
type: string
format: date-time
description: 'Date and time the record was created. (Timezone: UTC)'
description:
type: string
description: Description of a document.
entityId:
type: integer
format: int64
description: Unique identifier of an entity document is attached to.
entityType:
type: string
description: Type of an entity document is attached to.
enum:
- APPOINTMENT
- ASSET
- BILL
- BANK_DEPOSIT
- BILL_PAYMENT
- BUILDING
- CONTACT
- FLOOR_PLAN
- DESKTOP
- EMAIL_TEMPLATE
- INSPECTION
- LEASE
- OTHER
- PORTFOLIO
- PROSPECT
- RECONCILIATION
- TASK
- TRANSACTION
- UNIT
- VENDOR
- WORK_ORDER
fileName:
type: string
description: File name.
fileType:
type: string
description: File type.
id:
type: integer
format: int64
description: Unique identifier.
lastModifiedBy:
type: string
description: User who last modified the record.
lastModifiedDateTime:
type: string
format: date-time
description: 'Date and time the record was last modified. (Timezone: UTC)'
publishToOwnerPortal:
type: boolean
example: false
description: Indicates if the document is published to the owner portal.
publishToTenantPortal:
type: boolean
example: false
description: Indicates if the document is published to the tenant portal.
securitySchemes:
clientId:
type: apiKey
in: header
name: x-propertyware-client-id
clientSecret:
type: apiKey
in: header
name: x-propertyware-client-secret
organizationId:
type: apiKey
in: header
name: x-propertyware-system-id