Skip to main content

Team Data API (v1)

Download OpenAPI specification:Download

Resources

Get

Retrieve a single instance of model with the given uuid or external_id+team_uuid.

  • model: The name of the model to search for the instance.
  • uuid: The UUID of the instance to retrieve. Optional if external_id is provided.
  • external_id: The External ID of the instance to retrieve. Not used if uuid is provided.
  • fetch_details: Fetch detail records if true. Defaults to false.
  • detail_models: Deprecated. Use include_models instead.
  • include_models: Comma separated related model names to fetch, or empty string to fetch all. Only used if fetch_details is true.
  • exclude_models: Optional comma separated related model names to exclude.
  • team_uuid: The team_uuid of the instance to retrieve. Required if external_id is specified.
  • active_only: Retrieve active (i.e. not soft-deleted) instances only. Defaults to True.
  • include_nulls: If False, strips null and empty values from the response. Defaults to True.
Authorizations:
NinjaTokenAuth
query Parameters
model
string (Model)
uuid
string <uuid4> (Uuid)
external_id
string (External Id)
fetch_details
boolean (Fetch Details)
Default: false
detail_models
string (Detail Models)
Default: ""
include_models
string (Include Models)
Default: ""
exclude_models
string (Exclude Models)
Default: ""
include_paths
string (Include Paths)
Default: ""
exclude_paths
string (Exclude Paths)
Default: ""
active_only
boolean (Active Only)
Default: true
include_nulls
boolean (Include Nulls)
Default: true
simplified
boolean (Simplified)
Default: false
header Parameters
x-team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "model": "string",
  • "data": { },
  • "duplicates": [ ],
  • "validations": [ ],
  • "short_url": ""
}

Delete

Deletes a list of UUIDs of a given model.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
model
required
string (Model)
uuids
required
Array of strings <uuid4> (Uuids) [ items <uuid4 > ]
soft_delete
boolean (Soft Delete)
Default: false

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "uuids": [
    ],
  • "soft_delete": false
}

Response samples

Content type
application/json
{
  • "success": true,
  • "status": "string",
  • "message": "string",
  • "deleted": [
    ],
  • "failed": [
    ]
}

Fetch

Retrieve multiple instances of multiple models as defined in the payload. Works like a batch version of the GET /resources endpoint.

  • payload: A list of dicts with the keys model, uuid, external_id, and team_uuid.
  • active_only: Only return active (i.e. not soft-deleted) instances. Defaults to True.
  • include_nulls: If False, strips null and empty values from the response. Defaults to True.
  • simplified: If True, returns a simplified (flat) response. Defaults to False.
Authorizations:
NinjaTokenAuth
query Parameters
active_only
boolean (Active Only)
Default: true
include_nulls
boolean (Include Nulls)
Default: true
simplified
boolean (Simplified)
Default: false
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
Array
model
string (Model)
uuid
string <uuid4> (Uuid)
external_id
string (External Id)
fetch_details
boolean (Fetch Details)
Default: false
include_models
Array of strings (Include Models)
Default: []
exclude_models
Array of strings (Exclude Models)
Default: []
include_paths
Array of strings (Include Paths)
Default: []
exclude_paths
Array of strings (Exclude Paths)
Default: []
detail_models
Array of strings (Detail Models)
Default: []

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "status": "string",
  • "resources": [
    ]
}

Update Or Create

Attempt to find records based on a uuid or external_id+team_uuid and update them if found, or create new records if not. This endpoint can be used to update/create multiple objects of multiple, unrelated models.

  • payload.data: A list of dicts with the keys model, uuid, external_id, team_uuid, and data.
  • payload.batch: If True then the operation may be queued by the endpoint. :return: Either a list of the updated/created objects, or a task_id if the operation was queued.
Authorizations:
NinjaTokenAuth
query Parameters
include_nulls
boolean (Include Nulls)
Default: true
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
required
Array of objects (Data)
batch
boolean (Batch)
Default: false
simplified
boolean (Simplified)
Default: false
migration
boolean (Migration)
Default: false
fetch
boolean (Fetch)
Default: false
create
boolean (Create)
Default: false
update
boolean (Update)
Default: false
replace
boolean (Replace)
Default: false
clear_nulls
boolean (Clear Nulls)
Default: false
dry_run
boolean (Dry Run)
Default: false

Responses

Request samples

Content type
application/json
{
  • "data": [
    ],
  • "batch": false,
  • "simplified": false,
  • "migration": false,
  • "fetch": false,
  • "create": false,
  • "update": false,
  • "replace": false,
  • "clear_nulls": false,
  • "dry_run": false
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "resources": [
    ]
}

Check Dependencies

Check for existing duplicates of the resource list passed in the payload. This endpoint uses the same payload format as the update_or_create endpoint, but it doesn't actually create any records. :return: A list of lists, where the inner list is the duplicates found (if any).

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
header
required
object (Header)
columns
required
Array of strings (Columns)
required
Array of strings or strings (Rows) [ items ]

Responses

Request samples

Content type
application/json
{
  • "header": { },
  • "columns": [
    ],
  • "rows": [
    ]
}

Response samples

Content type
application/json
{
  • "header": {
    },
  • "lines": [
    ]
}

Check Duplicates

Check for existing duplicates of the resource list passed in the payload. This endpoint uses the same payload format as the update_or_create endpoint, but it doesn't actually create any records. :return: A list of lists, where the inner list is the duplicates found (if any).

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
required
Array of objects (Data)
batch
boolean (Batch)
Default: false
simplified
boolean (Simplified)
Default: false
migration
boolean (Migration)
Default: false
fetch
boolean (Fetch)
Default: false
create
boolean (Create)
Default: false
update
boolean (Update)
Default: false
replace
boolean (Replace)
Default: false
clear_nulls
boolean (Clear Nulls)
Default: false
dry_run
boolean (Dry Run)
Default: false

Responses

Request samples

Content type
application/json
{
  • "data": [
    ],
  • "batch": false,
  • "simplified": false,
  • "migration": false,
  • "fetch": false,
  • "create": false,
  • "update": false,
  • "replace": false,
  • "clear_nulls": false,
  • "dry_run": false
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "duplicates": [ ]
}

Duplicate

Finds a model instance using a uuid or external_id, and makes copy of it for each item in the payload.

  • payload.data: A list of dicts with the keys model and data. :return: The list of duplicated instances.
Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
Array
model
required
string (Model)
uuid
string <uuid4> (Uuid)
external_id
string (External Id)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "status": "string",
  • "resources": [
    ]
}

Convert

Finds model instances using a uuid or external_id, and converts them to a different module and/or submodule.

  • payload.data: A list of dicts with the keys model and data. :return: The list of converted instances.
Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
Array
model
required
string (Model)
uuid
string <uuid4> (Uuid)
external_id
string (External Id)
module
required
string (Module)
submodule
required
string (Submodule)
duplicate
boolean (Duplicate)
Default: false

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "status": "string",
  • "resources": [
    ]
}

Transform

Transform models between module/submodules with specific rules

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
Array
model
required
string (Model)
uuid
string <uuid4> (Uuid)
external_id
string (External Id)
module
required
string (Module)
submodule
required
string (Submodule)
object (Duplicate Arguments)
Default: {"duplicate_lines":true}
object (Transform Arguments)
Default: {"receive_lines":[]}

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "status": "string",
  • "resources": [
    ]
}

Change Team

Move transactions between teams

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
Array
model
required
string (Model)
uuid
required
string <uuid4> (Uuid)
new_team_uuid
required
string <uuid4> (New Team Uuid)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "status": "string",
  • "resources": [
    ]
}

Button Click

Gets a list of model UUIDs and fires "button" events for all. :return: The list of succeeded and failed UUIDs.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
key
required
string (Key)
uuids
required
Array of strings <uuid4> (Uuids) [ items <uuid4 > ]

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "uuids": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "status": "string",
  • "succeeded": [
    ],
  • "failed": [
    ]
}

Transaction Due Date

For a given Transaction and date_issued string (YYYY-MM-DD), return the due_date calculated, based on the Customer's or Supplier's payment terms - based on the transaction's module and submodule.

Authorizations:
NinjaTokenAuth
query Parameters
uuid
required
string <uuid4> (Uuid)
date_issued
required
string (Date Issued)
header Parameters
x-team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Coreapi User Migrate

It is assumed that conversion to the Team Data UUID that encodes the model has been done by the caller, for sake of implementation simplicity at this time.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
Array
email
string (Email)
uuid
required
string (Uuid)
id
required
integer (Id)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Budgets

Dynamic Budget Check

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
transaction_uuid
string <uuid> (Transaction Uuid)
date_issued
required
string <date> (Date Issued)
module
required
string (Module)
submodule
required
string (Submodule)
document_type
string (Document Type)
status
string (Status)
currency
string (Currency)
tax_included
boolean (Tax Included)
supplier_id
string <uuid> (Supplier Id)
customer_id
string <uuid> (Customer Id)
employee_id
string <uuid> (Employee Id)
required
Array of objects (Lines)

Responses

Request samples

Content type
application/json
{
  • "transaction_uuid": "3a6bcbed-b7dc-4791-84fe-b20f12be4001",
  • "date_issued": "2019-08-24",
  • "module": "string",
  • "submodule": "string",
  • "document_type": "string",
  • "status": "string",
  • "currency": "string",
  • "tax_included": true,
  • "supplier_id": "3cb1e20c-c6c9-4e71-ba66-399c468f697c",
  • "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  • "employee_id": "df4fd699-0854-488d-9cc2-15e751a80ee3",
  • "lines": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "budget_lines": [
    ]
}

Files

Attach

Attach a file to a specific model and uuid.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
model
required
string (Model)
object_uuid
required
string (Object Uuid)
file_uuid
required
string <uuid4> (File Uuid)
attachment_type
required
string (Attachment Type)
replace_uuid
string <uuid4> (Replace Uuid)
replaced_attachment_type
string (Replaced Attachment Type)

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "object_uuid": "string",
  • "file_uuid": "string",
  • "attachment_type": "string",
  • "replace_uuid": "string",
  • "replaced_attachment_type": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Find By Digest

Find a file by its SHA1 digest and the team that owns it. Note that this endpoint only concerns itself with files that: for extraction, - are set for_extraction=True - Belong to the Team specified in the x-team header

have a status not set to "DELETED" and have no value for deleted_at, as we want to detect and prevent duplicates.

Authorizations:
NinjaTokenAuth
query Parameters
sha1_digest
required
string (Sha1 Digest)
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get S3 Path

Request the full S3 path for a file, when supplied with the File's UUID.

Authorizations:
NinjaTokenAuth
path Parameters
uuid
required
string <uuid> (Uuid)
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Get Signed S3 Path

Request the full, signed S3 path for a file, when supplied with the File's UUID.

Authorizations:
NinjaTokenAuth
path Parameters
uuid
required
string <uuid> (Uuid)
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Download File

Request the full, signed S3 path for a file, when supplied with the File's UUID. Redirects to the signed S3 URL to initiate the download.

Authorizations:
NinjaTokenAuth
path Parameters
uuid
required
string <uuid> (Uuid)
model_name
required
string (Model Name)
attachment_type
required
string (Attachment Type)
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Inboxes

Create Inbox

Create a new Inbox for the specified Team.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
name
required
string (Name)
mailbox
required
string (Mailbox)
resource_module
required
string (Resource Module)
location_uuid
string <uuid4> (Location Uuid)
subsidiary_uuid
string <uuid4> (Subsidiary Uuid)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "mailbox": "string",
  • "resource_module": "string",
  • "location_uuid": "string",
  • "subsidiary_uuid": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Send Email

Send an email from an Inbox. The email sending API requires a valid Inbox UUID to be used.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
inbox_uuid
required
string <uuid4> (Inbox Uuid)
thread_uuid
string <uuid4> (Thread Uuid)
required
To Address (string) or Array of To Address (strings) (To Address)
subject
required
string (Subject)
email_body
required
string (Email Body)
html_body
boolean (Html Body)
Default: true
cc_addresses
Array of strings (Cc Addresses)
bcc_addresses
Array of strings (Bcc Addresses)
Array of objects (Attachments)

Responses

Request samples

Content type
application/json
{
  • "inbox_uuid": "string",
  • "thread_uuid": "string",
  • "to_address": "string",
  • "subject": "string",
  • "email_body": "string",
  • "html_body": true,
  • "cc_addresses": [
    ],
  • "bcc_addresses": [
    ],
  • "attachments": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Update Verification Status

Trigger the logic to query Postmark for the verification status of all custom send domains and update the CustomSendDomain objects in the database, as appropriate.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Create Custom Send Domain

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
domain_name
required
string (Domain Name)
verification_email
required
string (Verification Email)

Responses

Request samples

Content type
application/json
{
  • "domain_name": "string",
  • "verification_email": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Check Domain Verification Code

Check that the provided Zudello Verification code is correct for the Custom Send Domain specified by the provided UUID. Set "zudello_verified" to True if it is.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
uuid
required
string <uuid4> (Uuid)
verification_code
required
string (Verification Code)

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "verification_code": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Actions

Place Order

Place an order and send an email from an Inbox.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
transaction_uuid
string <uuid4> (Transaction Uuid)
inbox_uuid
string <uuid4> (Inbox Uuid)
send_email
boolean (Send Email)
Default: false
To Address (string) or Array of To Address (strings) (To Address)
subject
string (Subject)
email_body
string (Email Body)
html_body
boolean (Html Body)
Default: true
cc_addresses
Array of strings (Cc Addresses)
bcc_addresses
Array of strings (Bcc Addresses)

Responses

Request samples

Content type
application/json
{
  • "transaction_uuid": "string",
  • "inbox_uuid": "string",
  • "send_email": false,
  • "to_address": "string",
  • "subject": "string",
  • "email_body": "string",
  • "html_body": true,
  • "cc_addresses": [
    ],
  • "bcc_addresses": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Split Expense

Apply a supplier-configured expense split to the given transaction

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
transaction_uuid
required
string <uuid4> (Transaction Uuid)

Responses

Request samples

Content type
application/json
{
  • "transaction_uuid": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Import

Upload File

Upload a file to be imported later

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string <uuid4> (X-Team)
Request Body schema: multipart/form-data
required
file
required
string <binary> (File)
resource_type
required
string (Resource Type)
related_resource_uuid
string <uuid4> (Related Resource Uuid)
module
string (Module)
Default: ""
submodule
string (Submodule)
Default: ""
document_type
string (Document Type)
Default: ""
enrich
boolean (Enrich)
Default: false
status
string (Status)
Default: ""
autonumber
boolean (Autonumber)
Default: false

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get Import File Sample

Return the specified number of lines from the specified import file as a dict

Authorizations:
NinjaTokenAuth
path Parameters
import_uuid
required
string <uuid4> (Import Uuid)
query Parameters
lines
integer (Lines)
Default: 10
header Parameters
x-team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Map Data Import

Queue a mapping spec and attempt to import the specified import.

Authorizations:
NinjaTokenAuth
path Parameters
import_uuid
required
string <uuid4> (Import Uuid)
header Parameters
x-team
string <uuid4> (X-Team)
Request Body schema: application/json
required
ignored_columns
Array of strings (Ignored Columns)
Array of objects (Defaults)
required
Array of objects (Map)
Array of objects (Overrides)
replace_existing
boolean (Replace Existing)
Default: false

Responses

Request samples

Content type
application/json
{
  • "map": [
    ],
  • "overrides": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Export

Export Originals

Export original documents as specified in the search query

Authorizations:
NinjaTokenAuth
query Parameters
template_name
required
string (Template Name)
header Parameters
x-team
string <uuid4> (X-Team)
Request Body schema: application/json
required
model
required
string (Model)
select
Array of strings (Select)
filter
object (Filter)
exclude
object (Exclude)
search
object (Search)
dependency_state
object (Dependency State)
order_by
Array of strings (Order By)
Array of Distinct (any) or Distinct (boolean) (Distinct)
annotate
object (Annotate)
aggregate
object (Aggregate)
offset
integer (Offset)
Default: 0
limit
integer (Limit)
Default: 100

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "select": [
    ],
  • "filter": { },
  • "exclude": { },
  • "search": { },
  • "dependency_state": { },
  • "order_by": [
    ],
  • "distinct": [
    ],
  • "annotate": { },
  • "aggregate": { },
  • "offset": 0,
  • "limit": 100
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Export Search To Csv

Export results of specified search query as CSV file

Authorizations:
NinjaTokenAuth
query Parameters
template_name
required
string (Template Name)
header Parameters
x-team
string <uuid4> (X-Team)
Request Body schema: application/json
required
model
required
string (Model)
select
Array of strings (Select)
filter
object (Filter)
exclude
object (Exclude)
search
object (Search)
dependency_state
object (Dependency State)
order_by
Array of strings (Order By)
Array of Distinct (any) or Distinct (boolean) (Distinct)
annotate
object (Annotate)
aggregate
object (Aggregate)
offset
integer (Offset)
Default: 0
limit
integer (Limit)
Default: 100

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "select": [
    ],
  • "filter": { },
  • "exclude": { },
  • "search": { },
  • "dependency_state": { },
  • "order_by": [
    ],
  • "distinct": [
    ],
  • "annotate": { },
  • "aggregate": { },
  • "offset": 0,
  • "limit": 100
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Download Export

Download a specific export, specified by its UUID. Users requesting download must be part of the same team that created the Export.

Authorizations:
NinjaTokenAuth
path Parameters
download_uuid
required
string <uuid4> (Download Uuid)
header Parameters
x-team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Enrichment

Apply Coding View

Apply relationships from matched entities to the transaction and associated lines.

Authorizations:
NinjaTokenAuth
path Parameters
transaction_uuid
required
string <uuid> (Transaction Uuid)
header Parameters
x-team
string <uuid> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Match Statement View

Link invoices and credits to the given statement (or remittance advice in the SALES module).

Authorizations:
NinjaTokenAuth
query Parameters
statement
required
string <uuid> (Statement)
header Parameters
x-team
string <uuid> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Generate

Generate Pdf Document

Generate and attach a templated PDF to a resource

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
model
required
string (Model)
uuid
required
string (Uuid)
template_uuid
string (Template Uuid)

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "uuid": "string",
  • "template_uuid": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Generate Pdf Download

Generate and attach a templated PDF to a resource, downloading it

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
model
required
string (Model)
uuid
required
string (Uuid)
template_uuid
string (Template Uuid)

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "uuid": "string",
  • "template_uuid": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Generate Test Pdf

Generate and download a PDF for a resource from the template file provided

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: multipart/form-data
required
file
required
string <binary> (File)
model
string (Model)
Default: ""
uuid
string <uuid> (Uuid)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Generate Report

Generate a specific report PDF for a given model

Reports may require a specific model type, or may be generic for multiple models.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
model
required
string (Model)
uuid
required
string (Uuid)
report_type
required
any (ReportType)
Enum: "APPROVAL_HISTORY" "SYSTEM_DOCUMENT"

An enumeration.

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "uuid": "string",
  • "report_type": "APPROVAL_HISTORY"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

External Data

Exchange Rate

Get exchange rate for a given currency pair and date.

:param base_currency: Base currency code, as 3-letter ISO currency code :param to_currency: Target currency code, as 3-letter ISO currency code :date: Date for which to retrieve exchange rate, as ISO 8601 datetime string. If not provided, or if a future date is requested, the latest exchange rate will be returned. Dates are truncated to midnight of the requested day. ie: H:M:S == 00:00:00

Authorizations:
NinjaTokenAuth
query Parameters
base_currency
required
string (Base Currency)
to_currency
required
string (To Currency)
date
string (Date)
header Parameters
x-team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Abn Status

Get most up-to-date status for an ABN from the Australian Business Register.

:param abn: Australian Business Number as a string. This will be collapsed to 11 digits before being queried against the database. Spaces and dashes are removed, anything else will be left so "junk" will raise an error.

Authorizations:
NinjaTokenAuth
query Parameters
abn
required
string (Abn)
header Parameters
x-team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Invalidate Token

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string <uuid4> (X-Team)
Request Body schema: application/json
required
user_token
required
string (User Token)

Responses

Request samples

Content type
application/json
{
  • "user_token": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Invalidate General Store Resource

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string <uuid4> (X-Team)
Request Body schema: application/json
required
resource_type
required
string (Resource Type)

Responses

Request samples

Content type
application/json
{
  • "resource_type": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Metadata

Models

Get a list of all model nams.

  • for_export: If true, only return models that can be exported.
Authorizations:
NinjaTokenAuth
query Parameters
for_export
boolean (For Export)
Default: false
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "models": [
    ]
}

Schemas

Get a list of all model schemas.

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "schemas": {
    }
}

Relations

Get a list of all field names (including relations) that can be used to filter/export a given model.

  • model: The model name.
Authorizations:
NinjaTokenAuth
query Parameters
model
required
string (Model)
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "relations": { }
}

Model Metadata

Get basic introspection metadata for a model's fields

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "metadata": { }
}

Validations

Get a list of all back-end validations

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "validations": [
    ]
}

Pricing

Item Price Check

Authorizations:
NinjaTokenAuth
header Parameters
x-team
string (X-Team)
Request Body schema: application/json
required
module
required
string (Module)
submodule
required
string (Submodule)
required
Array of objects (Item Lines)
use_item_alternative
required
boolean (Use Item Alternative)
use_item_pricing
required
boolean (Use Item Pricing)
use_line
required
boolean (Use Line)
use_item
required
boolean (Use Item)
line_field
string (Line Field)
team_id
string <uuid> (Team Id)
account_id
string <uuid> (Account Id)
location_id
string <uuid> (Location Id)
subsidiary_id
string <uuid> (Subsidiary Id)
department_id
string <uuid> (Department Id)
employee_id
string <uuid> (Employee Id)
project_id
string <uuid> (Project Id)
cost_centre_id
string <uuid> (Cost Centre Id)
project_task_id
string <uuid> (Project Task Id)
cost_type_id
string <uuid> (Cost Type Id)
warehouse_id
string <uuid> (Warehouse Id)
zone_id
string <uuid> (Zone Id)
supplier_id
string <uuid> (Supplier Id)
customer_id
string <uuid> (Customer Id)
unit_of_measure_id
string <uuid> (Unit Of Measure Id)

Responses

Request samples

Content type
application/json
{
  • "module": "string",
  • "submodule": "string",
  • "item_lines": [
    ],
  • "use_item_alternative": true,
  • "use_item_pricing": true,
  • "use_line": true,
  • "use_item": true,
  • "line_field": "string",
  • "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  • "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
  • "location_id": "46910cc3-ab41-4b80-b4a7-94dab9f1b795",
  • "subsidiary_id": "d403c263-7610-4ef9-bd57-1503d6091ba3",
  • "department_id": "094fb5f1-8160-46ea-8cec-010c4b44e054",
  • "employee_id": "df4fd699-0854-488d-9cc2-15e751a80ee3",
  • "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
  • "cost_centre_id": "30d6d5d4-9850-4d2f-97b2-5a2e48f456ac",
  • "project_task_id": "3c0547d9-ed37-480b-b00e-e071e694d183",
  • "cost_type_id": "5cb6b93f-876e-4ac6-8d89-aad1bf5be5da",
  • "warehouse_id": "825f5f2b-307c-4cc1-9373-6d0c4692d478",
  • "zone_id": "4495020a-236f-46e0-9453-e3f9cc6476f4",
  • "supplier_id": "3cb1e20c-c6c9-4e71-ba66-399c468f697c",
  • "customer_id": "160c0c4b-9966-4dc1-a916-8407eb10d74e",
  • "unit_of_measure_id": "6280affd-2ee1-4aac-ba20-4c65cbe194bb"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "item_matches": [
    ]
}

Short URL Redirect

Short Url Redirect

path Parameters
team_uuid
required
string (Team Uuid)
short_code
required
string (Short Code)

Responses

Approvals

Get Flow

Authorizations:
NinjaTokenAuth
query Parameters
resource_uuid
required
string <uuid4> (Resource Uuid)
header Parameters
X-Team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "model": "string",
  • "data": { },
  • "duplicates": [ ],
  • "validations": [ ],
  • "short_url": ""
}

Create Milestone

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
resource_model
required
string (Resource Model)
resource_uuid
required
string <uuid4> (Resource Uuid)
required
Array of objects (Milestones)

Responses

Request samples

Content type
application/json
{
  • "resource_model": "string",
  • "resource_uuid": "string",
  • "milestones": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Process Milestone

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
status
required
string (ProcessStatusEnum)
Enum: "APPROVED" "REJECTED"

An enumeration.

resource_model
string (Resource Model)
resource_uuid
string <uuid4> (Resource Uuid)
uuid
required
string <uuid4> (Uuid)
reason
string (Reason)
user_uuid
required
string <uuid4> (User Uuid)
check_only
boolean (Check Only)
Default: false

Responses

Request samples

Content type
application/json
{
  • "status": "APPROVED",
  • "resource_model": "string",
  • "resource_uuid": "string",
  • "uuid": "string",
  • "reason": "string",
  • "user_uuid": "string",
  • "check_only": false
}

Response samples

Content type
application/json
{
  • "success": true
}

Bulk Approval

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
user_uuid
required
string <uuid4> (User Uuid)
required
Array of objects (Approvals)

Responses

Request samples

Content type
application/json
{
  • "user_uuid": "string",
  • "approvals": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Process Milestone By External User

Authorizations:
NinjaTokenAuth
query Parameters
signature
required
string (Signature)
header Parameters
X-Team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true
}

Process Force Milestone

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
uuid
required
string <uuid4> (Uuid)
reason
string (Reason)
user_uuid
required
string <uuid4> (User Uuid)

Responses

Request samples

Content type
application/json
{
  • "uuid": "string",
  • "reason": "string",
  • "user_uuid": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Revert Milestones

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
resource_uuid
required
string <uuid4> (Resource Uuid)

Responses

Request samples

Content type
application/json
{
  • "resource_uuid": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Clear Milestones

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
resource_uuid
required
string <uuid4> (Resource Uuid)

Responses

Request samples

Content type
application/json
{
  • "resource_uuid": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Send Reminder

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
resource_uuid
required
string <uuid4> (Resource Uuid)
milestone_uuid
required
string <uuid4> (Milestone Uuid)

Responses

Request samples

Content type
application/json
{
  • "resource_uuid": "string",
  • "milestone_uuid": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Bulk Send Reminder

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
resource_uuids
required
Array of strings <uuid4> (Resource Uuids) [ items <uuid4 > ]

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "success": true
}

Change Approver

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
current_user
required
string <uuid> (Current User)
new_user
required
string <uuid> (New User)
step_uuid
required
string <uuid> (Step Uuid)
reason
string (Reason)

Responses

Request samples

Content type
application/json
{
  • "current_user": "4d1c5e1a-8669-45fd-b0c4-d32e8646ee7c",
  • "new_user": "acba1969-e260-4cdf-aecd-2ea73262163e",
  • "step_uuid": "36cbcda5-79a6-4bf3-8e09-f04e24f64b58",
  • "reason": "string"
}

Response samples

Content type
application/json
{
  • "success": true
}

Notifications

Alive

Responses

Response samples

Content type
application/json
{
  • "service": "team-data",
  • "success": true,
  • "timestamp": 0
}

Count Messages

Authorizations:
NinjaTokenAuth
Request Body schema: application/json
required
team_uuids
required
Array of strings <uuid4> (Team Uuids) [ items <uuid4 > ]
channel
required
string (ChannelEnum)
Enum: "web" "mobile"

An enumeration.

read
required
boolean (Read)
types
Array of strings (Types)
resource
string <uuid4> (Resource)

Responses

Request samples

Content type
application/json
{
  • "team_uuids": [
    ],
  • "channel": "web",
  • "read": true,
  • "types": [
    ],
  • "resource": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Fetch Messages

Authorizations:
NinjaTokenAuth
query Parameters
page
integer (Page)
Default: 1
offset
integer (Offset)
Default: 10
Request Body schema: application/json
required
team_uuids
required
Array of strings <uuid4> (Team Uuids) [ items <uuid4 > ]
channel
required
string (ChannelEnum)
Enum: "web" "mobile"

An enumeration.

read
required
boolean (Read)
types
Array of strings (Types)
resource
string <uuid4> (Resource)

Responses

Request samples

Content type
application/json
{
  • "team_uuids": [
    ],
  • "channel": "web",
  • "read": true,
  • "types": [
    ],
  • "resource": "string"
}

Response samples

Content type
application/json
{
  • "total": 0,
  • "per_page": 0,
  • "results": [
    ]
}

Mark Messages As Read

Authorizations:
NinjaTokenAuth
Request Body schema: application/json
required
channel
required
string (ChannelEnum)
Enum: "web" "mobile"

An enumeration.

read
required
boolean (Read)
types
Array of strings (NotificationTypeChoices)
Items Enum: "new_document" "assignee" "approval_required" "approval_reminder" "approval_escalation" "approval_delegation" "approval_approved" "approval_rejected" "mention" "comment"
resource
string <uuid4> (Resource)
uuids
Array of strings <uuid4> (Uuids) [ items <uuid4 > ]

Responses

Request samples

Content type
application/json
{
  • "channel": "web",
  • "read": true,
  • "types": [
    ],
  • "resource": "string",
  • "uuids": [
    ]
}

Response samples

Content type
application/json
{
  • "message_channels_updated": 0
}

Add Message To Queue

Authorizations:
NinjaTokenAuth
Request Body schema: application/json
required
event_model
required
string (Event Model)
event_type
required
string (Event Type)
event_time
required
string <date-time> (Event Time)
resource_model
required
string (Resource Model)
resource_uuid
required
string (Resource Uuid)
team
required
string <uuid4> (Team)
user
string <uuid4> (User)
previous
required
object (Previous)
data
required
object (Data)

Responses

Request samples

Content type
application/json
{
  • "event_model": "string",
  • "event_type": "string",
  • "event_time": "2019-08-24T14:15:22Z",
  • "resource_model": "string",
  • "resource_uuid": "string",
  • "team": "string",
  • "user": "string",
  • "previous": { },
  • "data": { }
}

Response samples

Content type
application/json
{ }

Get Handles

Returns the Slack and/or MS Teams handles for a particular team user

Authorizations:
NinjaTokenAuth
query Parameters
user_uuid
required
string <uuid4> (User Uuid)
header Parameters
X-Team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Set Handles

Sets the Slack and/or MS Teams handles for a particular user and team combination. Updates or creates the MessagingHandle entity.

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
user_id
required
string <uuid> (User)
slack_user_id
required
string (Slack User Id) <= 255 characters
teams_user_id
required
string (Teams User Id) <= 255 characters

Responses

Request samples

Content type
application/json
{
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "slack_user_id": "string",
  • "teams_user_id": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Get Preferences

Return the user's preferences for a particular user and team combination

Authorizations:
NinjaTokenAuth
query Parameters
user_uuid
required
string <uuid4> (User Uuid)
header Parameters
X-Team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Set Preferences

Set preferences for a particular user and team combination. Updates or creates the Preferences entities.

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
Array
uuid
required
string <uuid4> (Uuid)
user_id
required
string <uuid4> (User Id)
email
required
boolean (Email)
web
required
boolean (Web)
mobile
required
boolean (Mobile)
slack
required
boolean (Slack)
teams
required
boolean (Teams)
disabled
required
boolean (Disabled)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Get Notification Types

Return details of notification types configured in the system.

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": [
    ]
}

Computed Fields

Evaluate

Authorizations:
NinjaTokenAuth
header Parameters
X-Team
string <uuid4> (X-Team)
Request Body schema: application/json
required
field_names
required
Array of strings (Field Names)
resource_uuid
required
string (Resource Uuid)

Responses

Request samples

Content type
application/json
{
  • "field_names": [
    ],
  • "resource_uuid": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    }
}

Health Checks

Alive

Responses

Response samples

Content type
application/json
{
  • "service": "team-data",
  • "success": true,
  • "timestamp": 0
}

Healthz

Responses

Response samples

Content type
application/json
{
  • "service": "team-data",
  • "success": true,
  • "message": "Healthy",
  • "timestamp": 0
}