Payaca API (1.0.0)

Download OpenAPI specification:Download

Tech Team: tech@payaca.com License: Proprietary

Welcome to the Payaca API

Custom fields: Get all for a specific role

Get all custom field definitions for a specific role

Authorizations:
basicAuth
path Parameters
groupRole
required
string
Value: "project"

Responses

Response samples

Content type
application/json
{
  • "customFields": [
    ]
}

Custom fields: Create one or more for a specific role

Create one or more for a specific role

Authorizations:
basicAuth
path Parameters
groupRole
required
string
Value: "project"
Request Body schema: application/json
required
Array of objects or objects or objects [ 1 .. 50 ] items
Array ([ 1 .. 50 ] items)
One of
type
required
string
Enum: "textarea" "text" "email" "url" "boolean" "number"
identifier
string or null <= 255 characters ^[a-zA-Z0-9-]+$

A unique identifier for the custom field - this will be auto generated if none provided

label
required
string <= 1023 characters

A readable field label

Responses

Request samples

Content type
application/json
{
  • "customFields": [
    ]
}

Response samples

Content type
application/json
{
  • "customFields": [
    ]
}

Custom fields: Create one or more within a specific fieldset

Create one or more within a specific fieldset

Authorizations:
basicAuth
path Parameters
groupRole
required
string
Value: "project"
fieldsetIdentifier
required
string
Request Body schema: application/json
required
Array of objects or objects [ 1 .. 20 ] items
Array ([ 1 .. 20 ] items)
Any of
type
required
string
Value: "select"
options
required
Array of strings [ 1 .. 20 ] items [ items <= 255 characters ]
identifier
string or null <= 255 characters ^[a-zA-Z0-9-]+$

A unique identifier for the custom field - this will be auto generated if none provided

label
required
string <= 1023 characters

A readable field label

Responses

Request samples

Content type
application/json
{
  • "customFields": [
    ]
}

Response samples

Content type
application/json
{
  • "type": "fieldset",
  • "children": [
    ],
  • "identifier": "my_custom_field",
  • "label": "My custom field",
  • "exampleValue": true,
  • "schema": "{\"type\":[\"boolean\",\"null\"],\"$schema\":\"http://json-schema.org/draft/2020-12/schema\"}"
}

Tax rates: Get all

Get all tax rates

Authorizations:
basicAuth
query Parameters
offset
integer or null >= 0
Default: 0
limit
integer ( 0 .. 100 ]
Default: 50

Responses

Response samples

Content type
application/json
{
  • "taxRates": {
    }
}

Projects: Create

Creates a new project for the specified customer.

Authorizations:
basicAuth
path Parameters
id
required
string
Example: 123
Request Body schema: application/json
reference
string or null
Structured (object) or String (string) or null
Any of
line1
required
string
line2
string or null
city
string or null
postcode
required
string
country
string or null
tags
Array of strings or null
By title (object) or By id (object) or null

The pipeline to create the Project within

Any of
title
required
string
By title (object) or By id (object) or null

The stage of the pipeline to start the Project in. If set, pipeline must also be provided

Any of
title
required
string
object or null

The email address of the Payaca user to assign the Project to

email
required
string <email>
notes
Array of strings or null
object or null

Provide values for any custom fields the Account has configured for their Projects. The key should be the custom field identifier

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "reference": "ABC123",
  • "siteAddress": {
    },
  • "tags": [
    ],
  • "pipeline": {
    },
  • "pipelineStage": {
    },
  • "assignTo": {
    },
  • "notes": [
    ],
  • "customFields": {
    }
}

Response samples

Content type
application/json
{
  • "customer": {
    }
}

Customers: Create or update

Creates a new Customer, or if any Customer with an email exists, adds to that one instead. If multiple Customers are found, the earliest created one is used.

Authorizations:
basicAuth
Request Body schema: application/json
name
string or null
required
Array of objects non-empty
Array (non-empty)
fullName
required
string
email
string or null
phoneNumber
string or null
description
string or null
isPrimaryContact
boolean or null
Default: false
Array of objects or null
Array
required
Structured (object) or String (string)
isBillingAddress
boolean or null
Default: false
Array of objects or null

Responses

Request samples

Content type
application/json
{
  • "name": "Harper Property Management",
  • "contacts": [
    ],
  • "addresses": [
    ]
}

Response samples

Content type
application/json
{
  • "customer": {
    }
}

Project Notes: Create

Creates Notes against the specified Project.

Authorizations:
basicAuth
path Parameters
id
required
string
Example: 123
Request Body schema: application/json
Array ([ 1 .. 10 ] items)
string

Responses

Request samples

Content type
application/json
[
  • "Design and estimate required"
]

Response samples

Content type
application/json
{
  • "notes": [
    ]
}

Project Proposal: Create

Creates a Proposal against the specified Project.

Authorizations:
basicAuth
path Parameters
id
required
string
Example: 123
Request Body schema: application/json
reference
string or null
validForDays
integer or null
required
Array of objects non-empty
Array (non-empty)
description
string or null
required
object

Responses

Request samples

Content type
application/json
{
  • "reference": "ABC123",
  • "validForDays": 30,
  • "itemGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "proposal": {
    }
}

Projects: Update

Updates an existing Project.

Authorizations:
basicAuth
path Parameters
id
required
string
Example: 123
Request Body schema: application/json
object or null

Provide values for any custom fields the Account has configured for their Projects. The key should be the custom field identifier

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "customFields": {
    }
}

Response samples

Content type
application/json
{
  • "customer": {
    }
}