PropertyMe · Arazzo Workflow

Raise, quote, approve and complete a PropertyMe maintenance job

Version 1.0.0

The maintenance work-order flow, using the v2 job-task shape for create and read and the shared v1 sub-resources for quotations, transitions and attachments. Requires activity:read and activity:write, plus contact:read to resolve the supplier. There is no idempotency key on the create step — reconcile before any retry.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub Real-EstateAustraliaProperty ManagementRentalsPropTechTenancyTrust AccountingInspectionsMaintenanceDocumentsPaymentsNew ZealandArazzoWorkflows

Provider

propertyme

Workflows

raise-quote-and-complete-job
Create a maintenance job against a property, attach a supplier quote, approve, assign and complete it.
9 steps inputs: jobId, lotId, quoteId
1
find-supplier
Resolve the supplier contact. Pages with Offset and Limit; there is no total count.
2
create-job
Create the work order. NO Idempotency-Key exists on this operation — on a timeout, do not blind-retry; re-read with SearchJobTaskV2Requestjobtaskssearch_Get filtered on DateCreatedMin/DateCreatedMax and confirm before trying again.
3
read-job
Read the job back to confirm its current state before transitioning.
4
add-quotation
Record the supplier's quote against the job.
5
attach-quotation-document
Attach the supplier's quote document to the quotation.
6
approve-job
Approve the job. A 400 here means the transition is not valid from the job's current state, not a transient failure — do not retry it.
7
assign-job
Assign the approved job to the supplier or agency member.
8
attach-completion-images
Attach completion photos before closing the job out.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Raise, quote, approve and complete a PropertyMe maintenance job
  version: 1.0.0
  description: >-
    The maintenance work-order flow, using the v2 job-task shape for create and read and the shared
    v1 sub-resources for quotations, transitions and attachments. Requires activity:read and
    activity:write, plus contact:read to resolve the supplier. There is no idempotency key on the
    create step — reconcile before any retry.
  x-realizes-capability-ids:
  - BC-4940.20
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-4940.20
      capability_name: Property Maintenance & Work Order Management
      spec: propertyme-scope-activities-api-openapi.yml
      confidence: 0.72
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: scopeActivitiesApi
  url: ../openapi/propertyme-scope-activities-api-openapi.yml
  type: openapi
- name: scopeContactsApi
  url: ../openapi/propertyme-scope-contacts-api-openapi.yml
  type: openapi
workflows:
- workflowId: raise-quote-and-complete-job
  summary: Create a maintenance job against a property, attach a supplier quote, approve, assign and complete it.
  inputs:
    type: object
    properties:
      lotId:
        type: string
        description: GUID of the lot (property) the work is against.
      jobId:
        type: string
        description: GUID of an existing job task, when driving an already-created job.
      quoteId:
        type: string
        description: GUID of a quotation on the job.
    required: [lotId]
  steps:
  - stepId: find-supplier
    description: Resolve the supplier contact. Pages with Offset and Limit; there is no total count.
    operationId: QuerySuppliersRequestcontactssuppliers_Get
    parameters:
    - name: Accept
      in: header
      value: application/json
    - name: Offset
      in: query
      value: 0
    - name: Limit
      in: query
      value: 50
    successCriteria:
    - condition: $statusCode == 200
  - stepId: create-job
    description: >-
      Create the work order. NO Idempotency-Key exists on this operation — on a timeout, do not
      blind-retry; re-read with SearchJobTaskV2Requestjobtaskssearch_Get filtered on
      DateCreatedMin/DateCreatedMax and confirm before trying again.
    operationId: AddJobV2Requestjobtasks_Post
    parameters:
    - name: Accept
      in: header
      value: application/json
    successCriteria:
    - condition: $statusCode == 200
  - stepId: read-job
    description: Read the job back to confirm its current state before transitioning.
    operationId: JobTaskV2RequestjobtasksId_Get
    parameters:
    - name: Accept
      in: header
      value: application/json
    - name: Id
      in: path
      value: $inputs.jobId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: add-quotation
    description: Record the supplier's quote against the job.
    operationId: AddJobTasksQuotationRequestjobtasksIdquotation_Post
    parameters:
    - name: Accept
      in: header
      value: application/json
    - name: Id
      in: path
      value: $inputs.jobId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: attach-quotation-document
    description: Attach the supplier's quote document to the quotation.
    operationId: AddJobTasksQuotationDocumentRequestjobtasksIdquotationQuoteIddocuments_Post
    parameters:
    - name: Accept
      in: header
      value: application/json
    - name: Id
      in: path
      value: $inputs.jobId
    - name: QuoteId
      in: path
      value: $inputs.quoteId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: approve-job
    description: >-
      Approve the job. A 400 here means the transition is not valid from the job's current state,
      not a transient failure — do not retry it.
    operationId: ApproveJobTaskRequestjobtasksIdapprove_Post
    parameters:
    - name: Accept
      in: header
      value: application/json
    - name: Id
      in: path
      value: $inputs.jobId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: assign-job
    description: Assign the approved job to the supplier or agency member.
    operationId: AssignTaskRequestjobtasksIdassign_Post
    parameters:
    - name: Accept
      in: header
      value: application/json
    - name: Id
      in: path
      value: $inputs.jobId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: attach-completion-images
    description: Attach completion photos before closing the job out.
    operationId: AddJobImagesRequestjobtasksIdimages_Post
    parameters:
    - name: Accept
      in: header
      value: application/json
    - name: Id
      in: path
      value: $inputs.jobId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: complete-job
    operationId: CompleteJobTaskRequestjobtasksIdcomplete_Post
    parameters:
    - name: Accept
      in: header
      value: application/json
    - name: Id
      in: path
      value: $inputs.jobId
    successCriteria:
    - condition: $statusCode == 200

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/propertyme-maintenance-job"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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.