Current RMS

The Current RMS API allows you read/write access to your system.

Alpha Documentation

See https://documenter.getpostman.com/view/4811107/SzS5wSad?version=latest for early access to updated API documentation. This provides code snippets and over time we hope to add further examples of common use cases.

Beta Release

The Current RMS API is currently being made available as a supported beta release. You are encouraged to use the API as a developer tool however we only provide very limited support for API queries. While the the API remains in beta status it may change without notice as a result of product updates. The temporary beta status of the API will remain in place while it matures. In a future release, the beta status will be removed, at which point changes to existing APIs will be limited and documented. The Current RMS API is not available for trial accounts.

API Endpoint

The Current RMS API endpoint is at: -

https://api.current-rms.com/api/v1

Authentication

You can authenticate to the Current RMS using either OAuth2 or API keys. API keys are deemed less secure so you should consider OAuth2 whenever possible.

OAuth2

To use OAuth2 authentication you will first need to create a Custom Application to generate a Client ID and Secret. You can manage your Custom OAuth2 Applications from within the API Integration setup (System Setup > Integrations > API).

We use the “Authorization Code” grant flow in OAuth2, this follows the process: -

  1. Request authorization (requires user interaction)

  2. Receive authorization

  3. Use authorization to obtain refresh and access tokens

  4. Use the access token for all API requests until it expires

  5. Use the refresh token to obtain new refresh and access tokens

  6. Repeat steps #4 and #5

OAuth2 URLs

https://[subdomain].current-rms.com/oauth2/authorize
https://[subdomain].current-rms.com/oauth2/token

At present access tokens survive for 2 hours after being issued, after which time you will need to request a new one using your refresh token before making further API requests.

Deleting the Custom Application entry in Current-RMS will immediately revoke any issued refresh & access tokens and block all further access.

When sending requests to the Current-RMS API you will need to include your access token in the Authorization request header and you should always include your subdomain; this is the first part of the URL you use to access Current RMS. For example if your Current RMS URL is abcproductions.current-rms.com your subdomain would be abcproductions. The subdomain can be provided as part of the request parameters subdomain=YOUR_SUBDOMAIN, or within the request headers using the X-SUBDOMAIN attribute.

It is highly recommended that you use a well supported OAuth2 client library, there are many for Java, Ruby, C#, PHP, Javascript etc.

See https://oauth.net/2/ for further information regarding OAuth2 and the Authorization Code grant type.

API Keys

You authenticate to the Current RMS API by providing one of your API keys in the request parameters apikey=YOUR_API_KEY, or within the request headers using the X-AUTH-TOKEN attribute. You can manage your API keys from within the API Integration setup (System Setup > Integrations > API). You can have multiple API keys active at one time, each key allows full read and write access to your system - revoke API keys that are no longer in use to ensure unauthorised access is not permitted. It is good security practice to recycle API keys periodically - use the ‘Refresh’ button next to each key to do this. All API requests must be made over HTTPS, any HTTP request will be automatically redirected.

You will also need to provide your Current RMS subdomain; this is the first part of the URL you use to access Current RMS. For example if your Current RMS URL is abcproductions.current-rms.com your subdomain would be abcproductions. The subdomain can be provided as part of the request parameters subdomain=YOUR_SUBDOMAIN, or within the request headers using the X-SUBDOMAIN attribute.

You can test your credentials using the command line utility ‘curl’, for example: -

curl --header "X-SUBDOMAIN:yoursubdomain" --header "X-AUTH-TOKEN:yourapikey" "https://api.current-rms.com/api/v1/members/1"

cURL is installed by default on Mac OS and Linux, if you are using Windows you will need to install it from https://curl.haxx.se/download.html - select Win32 Generic or Win64 Generic according to your Windows version. You will also need to download the certificate bundle ‘cacert.pem’ from https://curl.haxx.se/docs/caextract.html, this file should be stored in the same folder as the curl.exe file.

Note: When using cURL on the command line with search or sort parameters, you will need to encode the square brackets ([ and ]) to %5B and %5D respectively.

Rate Limits

Requests to the API are rate limited, typically you will be limited to a maximum of 60 requests over any 60 second period. If you send through too many requests you will receive a 429 response code. The headers of this response will give information regarding the rate limit, including X-RateLimit-Reset that contains a time stamp of when the limit expires and you can retry your request.

It is not considered good practice to continuously send requests in a loop as this will make your solution perform poorly and run the risk of being rate limited.

Errors

Our API methods can raise errors for many reasons, such as invalid parameters, authentication errors, or incompatible actions. When an error occurs a 4xx response code will be given and you should check for the presence of an errors object in the response. The errors object will give you further information on the exact nature of the error.

Return status codes

Current RMS API uses the standard HTML status codes as follows: -

200 OK

Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.

204 No Content

The server successfully processed the request, but is not returning any content.

400 Bad Request

Your request was badly formed - this is usually an error in your JSON formatting

401 Unauthorized

Specifically used when authentication is required and has failed or has not been provided.

404 Not Found

You requested a record that does not exist or used a URL that is not recognised.

422 Unprocessable Entity

The request was well-formed but was unable to be followed due to semantic errors.

Date/Time values

Times

All date/time values must be provided as UTC in the YYYY-MM-DDTHH:MM:SS.HHHZ format: -

2015-06-28T23:00:00.000Z

Dates

Date values should be provided in the YYYY-MM-DD format: -

2015-06-28

Timezones for documents

When producing document layouts using the API, dates will be shown in UTC unless an X-TIME-ZONE header is supplied. The string values for this header must match the timezone names as seen when editing a User Account.

"X-TIME-ZONE": "Europe/London"

Decimal Values

When providing numeric values with decimal places, the full stop character . must be used as the decimal separator and you should not include a thousands separator. For example: -

1234567.89

Pagination

Requests that return a lot of data, such as GET /members or GET /products are paginated. To get to the next page use the ?page parameter. To change the number of items per page, use the ?per_page parameter. Pages can have up to 100 items. When using pagination you must ensure that the records will be returned in a deterministic order or there is the danger of records being lost. To prevent this you need to select an appropriate sort order. If there is not an obvious natural order for your query you can append a sort by id to the end of the query. Example:

https://api.current-rms.com/products?page=2&per_page=100&q[s][]=id+asc

Item Counts

If you’re curious about the count of members or products you have in the system, you can look at the meta object for GET /members or GET /products. Within the meta object there are a number of attributes about the data collection you have requested, total_row_count contains the total number of respective items that are in the API.

Default scope

The index end points for Members, Products, Opportunities, Invoices, Projects and Quarantines will default to returning only active records. Records that are inactive/completed/posted/cancelled will not be returned by default. If you wish to return a complete listing of all records you should include the filtermode parameter with a value of all, e.g. filtermode=all. Please refer to the filtermode parameters in each end point for possible values.

Searching with the query engine

The primary method of searching via the Current API is by using what is known as predicates.

Predicates are used within Current API search queries to determine what information to match. For instance, the cont predicate will check to see if an attribute contains a value using a wildcard query: -

/api/v1/members?q[name_cont]=Ryan

You can also combine attributes for OR queries: -

/api/v1/members?q[name_or_description_cont]=Ryan

And also for AND queries: -

/api/v1/members?q[name_and_description_cont]=Ryan

Please note: any attempt to use an attribute or predicate in a search query that does not exist or is invalid will silently fail.

Groupings

You can use groupings to build complex criteria, this is helpful where you need to query the same and/or multiple fields using AND / OR logic.

The syntax structure is as follows: -

grouping
  |_ modifier
  |_ conditions
      |_ attributes
          |_ attribute name
      |_ predicate
      |_ values
          |_ search value

For example, this query will look for member records where the name contains either ‘Bill’ or ‘Fred’: -

/api/v1/members?q[g][0][m]=or&q[g][0][c][0][a][0][name]=name&q[g][0][c][0][p]=cont&q[g][0][c][0][v][0][value]=Bill&q[g][0][c][1][a][0][name]=name&q[g][0][c][1][p]=cont&q[g][0][c][1][v][0][value]=Fred

This translates to: -

g[0]
  |_ [m]=or
  |_ c[0]
      |_ a[0]
          |_ [name]=name
      |_ [p]=cont
      |_ v[0]
          |_ value=Bill
  |_ c[1]
      |_ a[0]
          |_ [name]=name
      |_ [p]=cont
      |_ v[0]
          |_ value=Fred

You can add further groupings with different modifiers to build complex search criteria.

A simpler version of this query can be constructed as follows: -

/api/v1/members?q[g][0][name_cont]=Bill&q[g][1][name_cont]=Fred&q[m]=or

However, this does not allow for multiple groups with different modifiers.

eq (equals)

The eq predicate returns all records where a field is exactly equal to a given value: -

/api/v1/members?q[name_eq]=Ryan

Opposite: not_eq

matches

The matches predicate returns all records where a field is like a given value: -

/api/v1/members?q[name_matches]=Ryan

Opposite: does_not_match

Note: If you want to do wildcard matching, you may be looking for the cont/not_cont predicates instead.

lt (less than)

The lt predicate returns all records where a field is less than a given value: -

/api/v1/members?q[rating_lt]=3

Opposite: gt (greater than)

lteq (less than or equal to)

The lteq predicate returns all records where a field is less than or equal to a given value:

/api/v1/members?q[rating_lteq]=3

Opposite: gteq (greater than or equal to)

in

The in predicate returns all records where a field is within a specified list: -

/api/v1/members?q[rating_in][]=2&q[rating_in][]=3&q[rating_in][]=4

Opposite: not_in

cont

The cont predicate returns all records where a field contains a given value: -

/api/v1/members?q[name_cont]=Ryan

Opposite: not_cont

cont_any (contains any)

The cont_any predicate returns all records where a field contains any of the given values: -

/api/v1/members?q[name_cont_any][]=Ryan&q[name_cont_any][]=Bill&q[name_cont_any][]=Fred

Opposite: not_cont_any

cont_all (contains all)

The cont_all predicate returns all records where a field contains all of the given values: -

/api/v1/members?q[name_cont_all][]=Ryan&q[name_cont_all][]=Bill&q[name_cont_all][]=Fred

Opposite: not_cont_all

start (starts with)

The start predicate returns all records where a field begins with a given value: -

/api/v1/members?q[name_start]=Ryan

Opposite: not_start

end (ends with)

The end predicate returns all records where a field ends with a given value: -

/api/v1/members?q[name_end]=Ryan

Opposite: not_end

true

The true predicate returns all records where a field is true. The ‘1’ indicates that to Ransack that you indeed want to check the truthiness of this field. The other truthy values are ‘true’, ‘TRUE’, ‘t’ or ‘T’.

/api/v1/members?q[active_true]=1

Opposite: not_true

false

The false predicate returns all records where a field is false: -

/api/v1/members?q[active_false]=1

Opposite: not_false

Note: the false predicate may be considered the opposite of the true predicate if the field does not contain null values. Otherwise, use not_false.

present

The present predicate returns all records where a field is present (not null and not a blank string): -

/api/v1/members?q[name_present]=1

Opposite: blank

null

The null predicate returns all records where a field is null: -

/api/v1/members?q[name_null]=1

Opposite: not_null

Sorting

The query engine can also sort the results of your search, for example to sort by the ‘name’ attribute in ascending order: -

/api/v1/members?q[s][]=name+asc

Or, in descending order: -

/api/v1/members?q[s][]=name+desc

You can also sort on multiple attributes, for example to sort by membership type, then by name: -

/api/v1/members?q[s][]=membership_type+asc&q[s][]=name+asc

Custom Field Searching

It is also possible to make queries on your custom fields. To do so, use the custom field ID in place of a property name. These IDs can be retrieved from the custom fields endpoint, or read from the URL on a custom field’s edit form.

Examples

Filter your products on the presence of a text custom field with an id of 14: -

/api/v1/products?q[14_present]=1

Filter your activities on a ‘multi list of values’ custom field where the custom field ID is 159 and the list value ID is 1000348

/api/v1/activities?q[159_cont]=1000348

Filter your products for those where a boolean custom field is true: -

/api/v1/products?q[109_eq]=true

Filter your products for those where a boolean custom field is not true (false or blank): -

/api/v1/products?q[109_blank]=1&q[109_eq]=false&q[combinator]=or

Accessories

An Accessory represents a product that should be included with a parent when it is rented or sold

Accessory

Retrieve an Accessory
GET/products/{product_id}/accessories/{id}
Example URI
GET https://api.current-rms.com/api/v1/products/1/accessories/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired accessory

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "accessory": {
    "related_id": 317,
    "related_type": "Item",
    "parent_transaction_type": 1,
    "item_transaction_type": 1,
    "inclusion_type": 1,
    "mode": 0,
    "quantity": "3.0",
    "zero_priced": false,
    "sort_order": 2,
    "id": 1,
    "relatable_id": 25,
    "relatable_type": "Item",
    "related_name": "REDMote",
    "related_icon_url": "Hello, world!",
    "related_icon_thumb_url": "Hello, world!",
    "type": "Accessory",
    "parent_transaction_type_name": "rent",
    "item_transaction_type_name": "rented",
    "inclusion_type_name": "mandatory",
    "mode_name": "accessory",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "accessory": {
      "type": "object",
      "properties": {
        "related_id": {
          "type": "number",
          "description": "The internal identifier of the child Product record this accessory relates to"
        },
        "related_type": {
          "type": "string",
          "description": "The type of child record this accessory relates to (always Item)"
        },
        "parent_transaction_type": {
          "type": "number",
          "description": "The transaction type of the parent that this accessory should be included with (0 = Both, 1 = Rental, 2 = Sale)"
        },
        "item_transaction_type": {
          "type": "number",
          "description": "The child accessory transaction type (1 = Rental, 2 = Sale)"
        },
        "inclusion_type": {
          "type": "number",
          "description": "The child accessory inclusion type (0 = Default, 1 = Mandatory, 2 = Optional)"
        },
        "mode": {
          "type": "number",
          "description": "The child accessory mode (0 = Accessory, 1 = Safety, 2 = Component)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the child accessory to be taken for each parent"
        },
        "zero_priced": {
          "type": "boolean",
          "description": "Is this child accessory included at zero price?"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this accessory is added to the parent"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Accessory record"
        },
        "relatable_id": {
          "type": "number",
          "description": "The internal identifier of the parent Product record this accessory relates to"
        },
        "relatable_type": {
          "type": "string",
          "description": "The type of parent record this accessory relates to (always Item)"
        },
        "related_name": {
          "type": "string",
          "description": "(Readonly) The product name of the child record"
        },
        "related_icon_url": {
          "type": "string",
          "description": "(Readonly) The product icon of the child record"
        },
        "related_icon_thumb_url": {
          "type": "string",
          "description": "(Readonly) The product icon of the child record (thumbnail)"
        },
        "type": {
          "type": "string",
          "description": "The type of related record (always Accessory)"
        },
        "parent_transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The parent transaction type name"
        },
        "item_transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The child accessory transaction type name"
        },
        "inclusion_type_name": {
          "type": "string",
          "description": "(Readonly) The child accessory inclusion type name"
        },
        "mode_name": {
          "type": "string",
          "description": "(Readonly) The child accessory mode name"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Accessory record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Accessory record was last updated"
        }
      }
    }
  }
}
Update an Accessory
PUT/products/{product_id}/accessories/{id}
Example URI
PUT https://api.current-rms.com/api/v1/products/1/accessories/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired accessory

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "accessory": {
    "related_id": 317,
    "related_type": "Item",
    "parent_transaction_type": 1,
    "item_transaction_type": 1,
    "inclusion_type": 1,
    "mode": 0,
    "quantity": "3.0",
    "zero_priced": false,
    "sort_order": 2
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "accessory": {
      "type": "object",
      "properties": {
        "related_id": {
          "type": "number",
          "description": "The internal identifier of the child Product record this accessory relates to"
        },
        "related_type": {
          "type": "string",
          "description": "The type of child record this accessory relates to (always Item)"
        },
        "parent_transaction_type": {
          "type": "number",
          "description": "The transaction type of the parent that this accessory should be included with (0 = Both, 1 = Rental, 2 = Sale)"
        },
        "item_transaction_type": {
          "type": "number",
          "description": "The child accessory transaction type (1 = Rental, 2 = Sale)"
        },
        "inclusion_type": {
          "type": "number",
          "description": "The child accessory inclusion type (0 = Default, 1 = Mandatory, 2 = Optional)"
        },
        "mode": {
          "type": "number",
          "description": "The child accessory mode (0 = Accessory, 1 = Safety, 2 = Component)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the child accessory to be taken for each parent"
        },
        "zero_priced": {
          "type": "boolean",
          "description": "Is this child accessory included at zero price?"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this accessory is added to the parent"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "accessory": {
    "related_id": 317,
    "related_type": "Item",
    "parent_transaction_type": 1,
    "item_transaction_type": 1,
    "inclusion_type": 1,
    "mode": 0,
    "quantity": "3.0",
    "zero_priced": false,
    "sort_order": 2,
    "id": 1,
    "relatable_id": 25,
    "relatable_type": "Item",
    "related_name": "REDMote",
    "related_icon_url": "Hello, world!",
    "related_icon_thumb_url": "Hello, world!",
    "type": "Accessory",
    "parent_transaction_type_name": "rent",
    "item_transaction_type_name": "rented",
    "inclusion_type_name": "mandatory",
    "mode_name": "accessory",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "accessory": {
      "type": "object",
      "properties": {
        "related_id": {
          "type": "number",
          "description": "The internal identifier of the child Product record this accessory relates to"
        },
        "related_type": {
          "type": "string",
          "description": "The type of child record this accessory relates to (always Item)"
        },
        "parent_transaction_type": {
          "type": "number",
          "description": "The transaction type of the parent that this accessory should be included with (0 = Both, 1 = Rental, 2 = Sale)"
        },
        "item_transaction_type": {
          "type": "number",
          "description": "The child accessory transaction type (1 = Rental, 2 = Sale)"
        },
        "inclusion_type": {
          "type": "number",
          "description": "The child accessory inclusion type (0 = Default, 1 = Mandatory, 2 = Optional)"
        },
        "mode": {
          "type": "number",
          "description": "The child accessory mode (0 = Accessory, 1 = Safety, 2 = Component)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the child accessory to be taken for each parent"
        },
        "zero_priced": {
          "type": "boolean",
          "description": "Is this child accessory included at zero price?"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this accessory is added to the parent"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Accessory record"
        },
        "relatable_id": {
          "type": "number",
          "description": "The internal identifier of the parent Product record this accessory relates to"
        },
        "relatable_type": {
          "type": "string",
          "description": "The type of parent record this accessory relates to (always Item)"
        },
        "related_name": {
          "type": "string",
          "description": "(Readonly) The product name of the child record"
        },
        "related_icon_url": {
          "type": "string",
          "description": "(Readonly) The product icon of the child record"
        },
        "related_icon_thumb_url": {
          "type": "string",
          "description": "(Readonly) The product icon of the child record (thumbnail)"
        },
        "type": {
          "type": "string",
          "description": "The type of related record (always Accessory)"
        },
        "parent_transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The parent transaction type name"
        },
        "item_transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The child accessory transaction type name"
        },
        "inclusion_type_name": {
          "type": "string",
          "description": "(Readonly) The child accessory inclusion type name"
        },
        "mode_name": {
          "type": "string",
          "description": "(Readonly) The child accessory mode name"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Accessory record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Accessory record was last updated"
        }
      }
    }
  }
}

Accessories

List Accessories
GET/products/{product_id}/accessories
Example URI
GET https://api.current-rms.com/api/v1/products/1/accessories
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "accessories": [
    {
      "related_id": 317,
      "related_type": "Item",
      "parent_transaction_type": 1,
      "item_transaction_type": 1,
      "inclusion_type": 1,
      "mode": 0,
      "quantity": "3.0",
      "zero_priced": false,
      "sort_order": 2,
      "id": 1,
      "relatable_id": 25,
      "relatable_type": "Item",
      "related_name": "REDMote",
      "related_icon_url": "Hello, world!",
      "related_icon_thumb_url": "Hello, world!",
      "type": "Accessory",
      "parent_transaction_type_name": "rent",
      "item_transaction_type_name": "rented",
      "inclusion_type_name": "mandatory",
      "mode_name": "accessory",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "accessories": {
      "type": "array"
    }
  }
}
Create an Accessory
POST/products/{product_id}/accessories
Example URI
POST https://api.current-rms.com/api/v1/products/1/accessories
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "accessory": {
    "related_id": 317,
    "related_type": "Item",
    "parent_transaction_type": 1,
    "item_transaction_type": 1,
    "inclusion_type": 1,
    "mode": 0,
    "quantity": "3.0",
    "zero_priced": false,
    "sort_order": 2
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "accessory": {
      "type": "object",
      "properties": {
        "related_id": {
          "type": "number",
          "description": "The internal identifier of the child Product record this accessory relates to"
        },
        "related_type": {
          "type": "string",
          "description": "The type of child record this accessory relates to (always Item)"
        },
        "parent_transaction_type": {
          "type": "number",
          "description": "The transaction type of the parent that this accessory should be included with (0 = Both, 1 = Rental, 2 = Sale)"
        },
        "item_transaction_type": {
          "type": "number",
          "description": "The child accessory transaction type (1 = Rental, 2 = Sale)"
        },
        "inclusion_type": {
          "type": "number",
          "description": "The child accessory inclusion type (0 = Default, 1 = Mandatory, 2 = Optional)"
        },
        "mode": {
          "type": "number",
          "description": "The child accessory mode (0 = Accessory, 1 = Safety, 2 = Component)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the child accessory to be taken for each parent"
        },
        "zero_priced": {
          "type": "boolean",
          "description": "Is this child accessory included at zero price?"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this accessory is added to the parent"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "accessory": {
    "related_id": 317,
    "related_type": "Item",
    "parent_transaction_type": 1,
    "item_transaction_type": 1,
    "inclusion_type": 1,
    "mode": 0,
    "quantity": "3.0",
    "zero_priced": false,
    "sort_order": 2,
    "id": 1,
    "relatable_id": 25,
    "relatable_type": "Item",
    "related_name": "REDMote",
    "related_icon_url": "Hello, world!",
    "related_icon_thumb_url": "Hello, world!",
    "type": "Accessory",
    "parent_transaction_type_name": "rent",
    "item_transaction_type_name": "rented",
    "inclusion_type_name": "mandatory",
    "mode_name": "accessory",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "accessory": {
      "type": "object",
      "properties": {
        "related_id": {
          "type": "number",
          "description": "The internal identifier of the child Product record this accessory relates to"
        },
        "related_type": {
          "type": "string",
          "description": "The type of child record this accessory relates to (always Item)"
        },
        "parent_transaction_type": {
          "type": "number",
          "description": "The transaction type of the parent that this accessory should be included with (0 = Both, 1 = Rental, 2 = Sale)"
        },
        "item_transaction_type": {
          "type": "number",
          "description": "The child accessory transaction type (1 = Rental, 2 = Sale)"
        },
        "inclusion_type": {
          "type": "number",
          "description": "The child accessory inclusion type (0 = Default, 1 = Mandatory, 2 = Optional)"
        },
        "mode": {
          "type": "number",
          "description": "The child accessory mode (0 = Accessory, 1 = Safety, 2 = Component)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the child accessory to be taken for each parent"
        },
        "zero_priced": {
          "type": "boolean",
          "description": "Is this child accessory included at zero price?"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this accessory is added to the parent"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Accessory record"
        },
        "relatable_id": {
          "type": "number",
          "description": "The internal identifier of the parent Product record this accessory relates to"
        },
        "relatable_type": {
          "type": "string",
          "description": "The type of parent record this accessory relates to (always Item)"
        },
        "related_name": {
          "type": "string",
          "description": "(Readonly) The product name of the child record"
        },
        "related_icon_url": {
          "type": "string",
          "description": "(Readonly) The product icon of the child record"
        },
        "related_icon_thumb_url": {
          "type": "string",
          "description": "(Readonly) The product icon of the child record (thumbnail)"
        },
        "type": {
          "type": "string",
          "description": "The type of related record (always Accessory)"
        },
        "parent_transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The parent transaction type name"
        },
        "item_transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The child accessory transaction type name"
        },
        "inclusion_type_name": {
          "type": "string",
          "description": "(Readonly) The child accessory inclusion type name"
        },
        "mode_name": {
          "type": "string",
          "description": "(Readonly) The child accessory mode name"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Accessory record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Accessory record was last updated"
        }
      }
    }
  }
}

Actions

An action record describes an action within the system carried out by a user, or as part of a system process. Action records are read-only.

Action

Retrieve an Action
GET/actions/{id}
Example URI
GET https://api.current-rms.com/api/v1/actions/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired action

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "action": {
    "subject_id": 33,
    "subject_type": "Opportunity",
    "source_id": 128,
    "source_type": "OpportunityDocument",
    "member_id": 1,
    "name": "Enable dynamic e-tailers",
    "description": "Delivery Note",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "id": 1,
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {},
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "action": {
      "type": "object",
      "properties": {
        "subject_id": {
          "type": "number",
          "description": "The internal identifier of the Action's subject record (what the Action is related to)"
        },
        "subject_type": {
          "type": "string",
          "description": "The object name of the Action's subject record"
        },
        "source_id": {
          "type": "number",
          "description": "The internal identifier of the Action's source record (where the Action has come from)"
        },
        "source_type": {
          "type": "string",
          "description": "The object name of the Action's source record"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the user who triggered this action"
        },
        "name": {
          "type": "string",
          "description": "The name of the Action's subject"
        },
        "description": {
          "type": "string",
          "description": "A description of the Action"
        },
        "created_at": {
          "type": "string",
          "description": "The original date & time of the Action"
        },
        "updated_at": {
          "type": "string",
          "description": "The latest date & time of the Action"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the action record"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {},
              "description": "A membership object"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) An object containing the member record data"
        }
      }
    }
  }
}

Actions

List Actions
GET/actions{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/actions?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_description_cont] (string, optional, `search_text_here`) (string, required)

Search on name or description for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "actions": [
    {
      "subject_id": 33,
      "subject_type": "Opportunity",
      "source_id": 128,
      "source_type": "OpportunityDocument",
      "member_id": 1,
      "name": "Enable dynamic e-tailers",
      "description": "Delivery Note",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "id": 1,
      "member": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {},
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "actions": {
      "type": "array"
    }
  }
}

Activities

An activity is a diary based task associated with and assigned to many of the objects within Current RMS

To remove existing participants from an activity object, include the attribute _destroy with a value of 1 along with the participant record id when performing an update operation, for example: -

{
  "activity": {
    "id": 1,
    "participants": [
      {
        "id": 1,
        "_destroy": 1
      }
    ]
  }
}

Activity

Retrieve an Activity
GET/activities/{id}
Example URI
GET https://api.current-rms.com/api/v1/activities/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired activity

include[] (string, optional)participants

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; regarding, owner, opportunity_item_asset and participants.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "activity": {
    "subject": "Enable dynamic e-tailers",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "location": "Hereford",
    "regarding_id": 39,
    "regarding_type": "Member",
    "owned_by": 1,
    "starts_at": "2015-06-29T10:00:00.000Z",
    "ends_at": "2015-06-29T10:30:00.000Z",
    "priority": 1,
    "type_id": 1003,
    "status_id": 2001,
    "completed": false,
    "time_status": 0,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "activity_type_name": "Fax",
    "activity_status_name": "Scheduled",
    "time_status_name": "Free",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "regarding": {},
    "owner": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "activity": {
      "type": "object",
      "properties": {
        "subject": {
          "type": "string",
          "description": "The subject of the activity"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the activity"
        },
        "location": {
          "type": "string",
          "description": "The location of the activity"
        },
        "regarding_id": {
          "type": "number",
          "description": "The internal identifier of the regarding record for the activity"
        },
        "regarding_type": {
          "type": "string",
          "description": "The type of regarding record"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal record identifier of the owner of the activity"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date & time of the activity"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date & time of the activity"
        },
        "priority": {
          "type": "number",
          "description": "The priority of the activity (1 to 5)"
        },
        "type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the activity"
        },
        "status_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the status of the activity"
        },
        "completed": {
          "type": "boolean",
          "description": "Whether the activity is completed"
        },
        "time_status": {
          "type": "number",
          "description": "0 = Free, 1 = Busy"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the activity record"
        },
        "activity_type_name": {
          "type": "string",
          "description": "(Readonly) The activity type name"
        },
        "activity_status_name": {
          "type": "string",
          "description": "(Readonly) The activity type name"
        },
        "time_status_name": {
          "type": "string",
          "description": "(Readonly) The time status name"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the activity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the activity was last updated"
        },
        "regarding": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) An object containing the regarding record data"
        },
        "owner": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) An object containing the owner record data"
        }
      },
      "required": [
        "subject"
      ]
    }
  }
}
Update an Activity
PUT/activities/{id}
Example URI
PUT https://api.current-rms.com/api/v1/activities/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired activity

include[] (string, optional)participants

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; regarding, owner, opportunity_item_asset and participants.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "activity": {
    "subject": "Enable dynamic e-tailers",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "location": "Hereford",
    "regarding_id": 39,
    "regarding_type": "Member",
    "owned_by": 1,
    "starts_at": "2015-06-29T10:00:00.000Z",
    "ends_at": "2015-06-29T10:30:00.000Z",
    "priority": 1,
    "type_id": 1003,
    "status_id": 2001,
    "completed": false,
    "time_status": 0,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "activity": {
      "type": "object",
      "properties": {
        "subject": {
          "type": "string",
          "description": "The subject of the activity"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the activity"
        },
        "location": {
          "type": "string",
          "description": "The location of the activity"
        },
        "regarding_id": {
          "type": "number",
          "description": "The internal identifier of the regarding record for the activity"
        },
        "regarding_type": {
          "type": "string",
          "description": "The type of regarding record"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal record identifier of the owner of the activity"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date & time of the activity"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date & time of the activity"
        },
        "priority": {
          "type": "number",
          "description": "The priority of the activity (1 to 5)"
        },
        "type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the activity"
        },
        "status_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the status of the activity"
        },
        "completed": {
          "type": "boolean",
          "description": "Whether the activity is completed"
        },
        "time_status": {
          "type": "number",
          "description": "0 = Free, 1 = Busy"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        }
      },
      "required": [
        "subject"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "activity": {
    "subject": "Enable dynamic e-tailers",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "location": "Hereford",
    "regarding_id": 39,
    "regarding_type": "Member",
    "owned_by": 1,
    "starts_at": "2015-06-29T10:00:00.000Z",
    "ends_at": "2015-06-29T10:30:00.000Z",
    "priority": 1,
    "type_id": 1003,
    "status_id": 2001,
    "completed": false,
    "time_status": 0,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "activity_type_name": "Fax",
    "activity_status_name": "Scheduled",
    "time_status_name": "Free",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "regarding": {},
    "owner": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "activity": {
      "type": "object",
      "properties": {
        "subject": {
          "type": "string",
          "description": "The subject of the activity"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the activity"
        },
        "location": {
          "type": "string",
          "description": "The location of the activity"
        },
        "regarding_id": {
          "type": "number",
          "description": "The internal identifier of the regarding record for the activity"
        },
        "regarding_type": {
          "type": "string",
          "description": "The type of regarding record"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal record identifier of the owner of the activity"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date & time of the activity"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date & time of the activity"
        },
        "priority": {
          "type": "number",
          "description": "The priority of the activity (1 to 5)"
        },
        "type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the activity"
        },
        "status_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the status of the activity"
        },
        "completed": {
          "type": "boolean",
          "description": "Whether the activity is completed"
        },
        "time_status": {
          "type": "number",
          "description": "0 = Free, 1 = Busy"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the activity record"
        },
        "activity_type_name": {
          "type": "string",
          "description": "(Readonly) The activity type name"
        },
        "activity_status_name": {
          "type": "string",
          "description": "(Readonly) The activity type name"
        },
        "time_status_name": {
          "type": "string",
          "description": "(Readonly) The time status name"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the activity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the activity was last updated"
        },
        "regarding": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) An object containing the regarding record data"
        },
        "owner": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) An object containing the owner record data"
        }
      },
      "required": [
        "subject"
      ]
    }
  }
}
Delete an Activity
DELETE/activities/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/activities/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired activity

include[] (string, optional)participants

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; regarding, owner, opportunity_item_asset and participants.

Response  204

Activities

List Activities
GET/activities{?page,per_page,filtermode,view_id}
Example URI
GET https://api.current-rms.com/api/v1/activities?page=1&per_page=20&filtermode=all&view_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

filtermode (string, optional)all

A built in filtermode name (e.g. pending, completed, all)

view_id (number, optional)1

The record id of a custom view

q[subject_or_description_or_location_or_tags_name_cont] (string, optional)search_text_here

Search on subject, description, location or tags for matching records

include[] (string, optional)participants

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; regarding, owner, opportunity_item_asset and participants.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "activities": [
    {
      "subject": "Enable dynamic e-tailers",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "location": "Hereford",
      "regarding_id": 39,
      "regarding_type": "Member",
      "owned_by": 1,
      "starts_at": "2015-06-29T10:00:00.000Z",
      "ends_at": "2015-06-29T10:30:00.000Z",
      "priority": 1,
      "type_id": 1003,
      "status_id": 2001,
      "completed": false,
      "time_status": 0,
      "custom_fields": {},
      "participants": [
        {
          "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
          "assignment_id": 110,
          "member_id": 1,
          "mute": false,
          "id": 1,
          "member_name": "Steve Smith",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "assignment_type": "Activity"
        }
      ],
      "id": 1,
      "activity_type_name": "Fax",
      "activity_status_name": "Scheduled",
      "time_status_name": "Free",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "regarding": {},
      "owner": {}
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "activities": {
      "type": "array"
    }
  }
}
Create an Activity
POST/activities
Example URI
POST https://api.current-rms.com/api/v1/activities
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "activity": {
    "subject": "Enable dynamic e-tailers",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "location": "Hereford",
    "regarding_id": 39,
    "regarding_type": "Member",
    "owned_by": 1,
    "starts_at": "2015-06-29T10:00:00.000Z",
    "ends_at": "2015-06-29T10:30:00.000Z",
    "priority": 1,
    "type_id": 1003,
    "status_id": 2001,
    "completed": false,
    "time_status": 0,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "activity": {
      "type": "object",
      "properties": {
        "subject": {
          "type": "string",
          "description": "The subject of the activity"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the activity"
        },
        "location": {
          "type": "string",
          "description": "The location of the activity"
        },
        "regarding_id": {
          "type": "number",
          "description": "The internal identifier of the regarding record for the activity"
        },
        "regarding_type": {
          "type": "string",
          "description": "The type of regarding record"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal record identifier of the owner of the activity"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date & time of the activity"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date & time of the activity"
        },
        "priority": {
          "type": "number",
          "description": "The priority of the activity (1 to 5)"
        },
        "type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the activity"
        },
        "status_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the status of the activity"
        },
        "completed": {
          "type": "boolean",
          "description": "Whether the activity is completed"
        },
        "time_status": {
          "type": "number",
          "description": "0 = Free, 1 = Busy"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        }
      },
      "required": [
        "subject"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "activity": {
    "subject": "Enable dynamic e-tailers",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "location": "Hereford",
    "regarding_id": 39,
    "regarding_type": "Member",
    "owned_by": 1,
    "starts_at": "2015-06-29T10:00:00.000Z",
    "ends_at": "2015-06-29T10:30:00.000Z",
    "priority": 1,
    "type_id": 1003,
    "status_id": 2001,
    "completed": false,
    "time_status": 0,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "activity_type_name": "Fax",
    "activity_status_name": "Scheduled",
    "time_status_name": "Free",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "regarding": {},
    "owner": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "activity": {
      "type": "object",
      "properties": {
        "subject": {
          "type": "string",
          "description": "The subject of the activity"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the activity"
        },
        "location": {
          "type": "string",
          "description": "The location of the activity"
        },
        "regarding_id": {
          "type": "number",
          "description": "The internal identifier of the regarding record for the activity"
        },
        "regarding_type": {
          "type": "string",
          "description": "The type of regarding record"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal record identifier of the owner of the activity"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date & time of the activity"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date & time of the activity"
        },
        "priority": {
          "type": "number",
          "description": "The priority of the activity (1 to 5)"
        },
        "type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the activity"
        },
        "status_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the status of the activity"
        },
        "completed": {
          "type": "boolean",
          "description": "Whether the activity is completed"
        },
        "time_status": {
          "type": "number",
          "description": "0 = Free, 1 = Busy"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the activity record"
        },
        "activity_type_name": {
          "type": "string",
          "description": "(Readonly) The activity type name"
        },
        "activity_status_name": {
          "type": "string",
          "description": "(Readonly) The activity type name"
        },
        "time_status_name": {
          "type": "string",
          "description": "(Readonly) The time status name"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the activity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the activity was last updated"
        },
        "regarding": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) An object containing the regarding record data"
        },
        "owner": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) An object containing the owner record data"
        }
      },
      "required": [
        "subject"
      ]
    }
  }
}

Activity examples

Activities for a specific resource in a time window
GET/activities
/api/v1/activities?q[time_status_eq]=1&q[starts_at_lt]=2021-08-25T00:00:00.000Z&q[ends_at_gteq]=2021-08-24T00:00:00.000Z&q[participants_member_id_eq][]=123
Example URI
GET https://api.current-rms.com/api/v1/activities
Creating a simple activity against an Opportunity for a contact
POST/activities
Example URI
POST https://api.current-rms.com/api/v1/activities
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "activity": {
    "subject": "New API Activity",
    "description": "A new activity created via the API",
    "starts_at": "2021-06-29T10:00:00.000Z",
    "ends_at": "2021-06-29T10:30:00.000Z",
    "regarding_type": "Opportunity",
    "regarding_id": 124,
    "owned_by": 1,
    "participants": [
      {
        "member_id": 24
      }
    ]
  }
}

Attachments

An attachment is a record of an uploaded file

Attachment

Retrieve an Attachment
GET/attachments/{id}
Example URI
GET https://api.current-rms.com/api/v1/attachments/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired attachment

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "attachment": {
    "attachable_id": 39,
    "name": "Site Plan",
    "description": "Hello, world!",
    "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
    "attachment_content_type": "image/png",
    "attachment_file_size": 46424,
    "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
    "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "attachment": {
      "type": "object",
      "properties": {
        "attachable_id": {
          "type": "number",
          "description": "The internal identifier of the attachable record for the activity"
        },
        "name": {
          "type": "string",
          "description": "The name of the attachment"
        },
        "description": {
          "type": "string",
          "description": "A long description of the attachment"
        },
        "attachment_file_name": {
          "type": "string",
          "description": "The filename of the attachment"
        },
        "attachment_content_type": {
          "type": "string",
          "description": "The attachment content type"
        },
        "attachment_file_size": {
          "type": "number",
          "description": "The attachment file size in bytes"
        },
        "attachment_url": {
          "type": "string",
          "description": "(Readonly) The URL of the attachment"
        },
        "attachment_thumb_url": {
          "type": "string",
          "description": "(Readonly) The URL of the thumbnail of the attachment (only applicable to image based attachments)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Attachment was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Attachment"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the attachment record"
        }
      },
      "required": [
        "name"
      ]
    }
  }
}
Update an Attachment
PUT/attachments/{id}
Example URI
PUT https://api.current-rms.com/api/v1/attachments/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired attachment

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "attachment": {
    "attachable_id": 39,
    "name": "Site Plan",
    "description": "Hello, world!",
    "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
    "attachment_content_type": "image/png",
    "attachment_file_size": 46424,
    "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
    "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "attachment": {
      "type": "object",
      "properties": {
        "attachable_id": {
          "type": "number",
          "description": "The internal identifier of the attachable record for the activity"
        },
        "name": {
          "type": "string",
          "description": "The name of the attachment"
        },
        "description": {
          "type": "string",
          "description": "A long description of the attachment"
        },
        "attachment_file_name": {
          "type": "string",
          "description": "The filename of the attachment"
        },
        "attachment_content_type": {
          "type": "string",
          "description": "The attachment content type"
        },
        "attachment_file_size": {
          "type": "number",
          "description": "The attachment file size in bytes"
        },
        "attachment_url": {
          "type": "string",
          "description": "(Readonly) The URL of the attachment"
        },
        "attachment_thumb_url": {
          "type": "string",
          "description": "(Readonly) The URL of the thumbnail of the attachment (only applicable to image based attachments)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Attachment was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Attachment"
        }
      },
      "required": [
        "name"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "attachment": {
    "attachable_id": 39,
    "name": "Site Plan",
    "description": "Hello, world!",
    "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
    "attachment_content_type": "image/png",
    "attachment_file_size": 46424,
    "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
    "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "attachment": {
      "type": "object",
      "properties": {
        "attachable_id": {
          "type": "number",
          "description": "The internal identifier of the attachable record for the activity"
        },
        "name": {
          "type": "string",
          "description": "The name of the attachment"
        },
        "description": {
          "type": "string",
          "description": "A long description of the attachment"
        },
        "attachment_file_name": {
          "type": "string",
          "description": "The filename of the attachment"
        },
        "attachment_content_type": {
          "type": "string",
          "description": "The attachment content type"
        },
        "attachment_file_size": {
          "type": "number",
          "description": "The attachment file size in bytes"
        },
        "attachment_url": {
          "type": "string",
          "description": "(Readonly) The URL of the attachment"
        },
        "attachment_thumb_url": {
          "type": "string",
          "description": "(Readonly) The URL of the thumbnail of the attachment (only applicable to image based attachments)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Attachment was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Attachment"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the attachment record"
        }
      },
      "required": [
        "name"
      ]
    }
  }
}
Delete an Attachment
DELETE/attachments/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/attachments/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired attachment

Response  204

Attachments

List Attachments
GET/attachments{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/attachments?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_attachment_file_name_cont] (string, optional, `search_text_here`) (string, required)

Search on name or file name for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "attachments": [
    {
      "attachable_id": 39,
      "name": "Site Plan",
      "description": "Hello, world!",
      "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
      "attachment_content_type": "image/png",
      "attachment_file_size": 46424,
      "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "attachments": {
      "type": "array"
    }
  }
}
Create an Attachment
POST/attachments

The file to attach can be specified using one of the following options:

  1. provide a publicly accessible URL to the file using the attachment_link_url attribute

  2. provide a Base64 encoded data URI formatted version of the file using the attachment_base64 attribute (https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) and a file name using the attachment_file_name attribute

  3. perform a multi-part form POST using the attachment attribute and content type of application/x-www-form-urlencoded; charset=utf-8

Example URI
POST https://api.current-rms.com/api/v1/attachments
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "attachment": {
    "attachable_id": 39,
    "attachable_type": "Member",
    "name": "Site Plan",
    "description": "",
    "attachment": {},
    "attachment_link_url": ""
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "attachment": {
      "type": "object",
      "properties": {
        "attachable_id": {
          "type": "number",
          "description": "The internal identifier of the attachable record for the activity"
        },
        "attachable_type": {
          "type": "string",
          "description": "The type of attachable record"
        },
        "name": {
          "type": "string",
          "description": "The name of the attachment"
        },
        "description": {
          "type": "string",
          "description": "A long description of the attachment"
        },
        "attachment": {
          "type": "object",
          "properties": {},
          "description": "The form-data file object to upload"
        },
        "attachment_link_url": {
          "type": "string",
          "description": "A publically accessible URL to use as the attachment source"
        }
      },
      "required": [
        "name"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "attachment": {
    "attachable_id": 39,
    "name": "Site Plan",
    "description": "Hello, world!",
    "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
    "attachment_content_type": "image/png",
    "attachment_file_size": 46424,
    "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
    "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "attachment": {
      "type": "object",
      "properties": {
        "attachable_id": {
          "type": "number",
          "description": "The internal identifier of the attachable record for the activity"
        },
        "name": {
          "type": "string",
          "description": "The name of the attachment"
        },
        "description": {
          "type": "string",
          "description": "A long description of the attachment"
        },
        "attachment_file_name": {
          "type": "string",
          "description": "The filename of the attachment"
        },
        "attachment_content_type": {
          "type": "string",
          "description": "The attachment content type"
        },
        "attachment_file_size": {
          "type": "number",
          "description": "The attachment file size in bytes"
        },
        "attachment_url": {
          "type": "string",
          "description": "(Readonly) The URL of the attachment"
        },
        "attachment_thumb_url": {
          "type": "string",
          "description": "(Readonly) The URL of the thumbnail of the attachment (only applicable to image based attachments)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Attachment was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Attachment"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the attachment record"
        }
      },
      "required": [
        "name"
      ]
    }
  }
}

Discussion Comments

A discussion contains comments received or sent related to an object within Current (e.g. Organisation, Product, Opportunity, Invoice etc.)

Comment

Retrieve a Comment
GET/discussions/{discussion_id}/comments/{id}
Example URI
GET https://api.current-rms.com/api/v1/discussions/1/comments/1
Parameters
NameExampleDescription
discussion_id (number, required)1

The ID of the desired discussion

id (number, required)1

The ID of the desired comment

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "comment": {
    "discussion_id": 1,
    "remark": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "html": false,
    "created_by": 1,
    "id": 1,
    "first": true,
    "updated_by": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "comment": {
      "type": "object",
      "properties": {
        "discussion_id": {
          "type": "number",
          "description": "The internal identifier of the discussion record for the comment"
        },
        "remark": {
          "type": "string",
          "description": "The comment text"
        },
        "html": {
          "type": "boolean",
          "description": "Comment is HTML formatted?"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this comment"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Comment record"
        },
        "first": {
          "type": "boolean",
          "description": "(Readonly) Is this the first comment for the discussion?"
        },
        "updated_by": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record related to the member who updated this comment"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) The date & time when the Comment was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) The date & time of the last update to the Comment"
        }
      }
    }
  }
}
Update a Comment
PUT/discussions/{discussion_id}/comments/{id}
Example URI
PUT https://api.current-rms.com/api/v1/discussions/1/comments/1
Parameters
NameExampleDescription
discussion_id (number, required)1

The ID of the desired discussion

id (number, required)1

The ID of the desired comment

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "comment": {
    "discussion_id": 1,
    "remark": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "html": false,
    "created_by": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "comment": {
      "type": "object",
      "properties": {
        "discussion_id": {
          "type": "number",
          "description": "The internal identifier of the discussion record for the comment"
        },
        "remark": {
          "type": "string",
          "description": "The comment text"
        },
        "html": {
          "type": "boolean",
          "description": "Comment is HTML formatted?"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this comment"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "comment": {
    "discussion_id": 1,
    "remark": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "html": false,
    "created_by": 1,
    "id": 1,
    "first": true,
    "updated_by": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "comment": {
      "type": "object",
      "properties": {
        "discussion_id": {
          "type": "number",
          "description": "The internal identifier of the discussion record for the comment"
        },
        "remark": {
          "type": "string",
          "description": "The comment text"
        },
        "html": {
          "type": "boolean",
          "description": "Comment is HTML formatted?"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this comment"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Comment record"
        },
        "first": {
          "type": "boolean",
          "description": "(Readonly) Is this the first comment for the discussion?"
        },
        "updated_by": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record related to the member who updated this comment"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) The date & time when the Comment was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) The date & time of the last update to the Comment"
        }
      }
    }
  }
}

Comments

List Comments
GET/discussions/{discussion_id}/comments
Example URI
GET https://api.current-rms.com/api/v1/discussions/1/comments
Parameters
NameExampleDescription
discussion_id (number, required)1

The ID of the desired discussion

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "comments": [
    {
      "discussion_id": 1,
      "remark": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "html": false,
      "created_by": 1,
      "id": 1,
      "first": true,
      "updated_by": 1,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "comments": {
      "type": "array"
    }
  }
}
Create a Comment
POST/discussions/{discussion_id}/comments

It is possible to set the creator of the comment by including the created_by attribute with the ID of a Member record. The method will create a discussion participant for the comment creator so the member must have a work email.

Example URI
POST https://api.current-rms.com/api/v1/discussions/1/comments
Parameters
NameExampleDescription
discussion_id (number, required)1

The ID of the desired discussion

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "comment": {
    "discussion_id": 1,
    "remark": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "html": false,
    "created_by": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "comment": {
      "type": "object",
      "properties": {
        "discussion_id": {
          "type": "number",
          "description": "The internal identifier of the discussion record for the comment"
        },
        "remark": {
          "type": "string",
          "description": "The comment text"
        },
        "html": {
          "type": "boolean",
          "description": "Comment is HTML formatted?"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this comment"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "comment": {
    "discussion_id": 1,
    "remark": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "html": false,
    "created_by": 1,
    "id": 1,
    "first": true,
    "updated_by": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "comment": {
      "type": "object",
      "properties": {
        "discussion_id": {
          "type": "number",
          "description": "The internal identifier of the discussion record for the comment"
        },
        "remark": {
          "type": "string",
          "description": "The comment text"
        },
        "html": {
          "type": "boolean",
          "description": "Comment is HTML formatted?"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this comment"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Comment record"
        },
        "first": {
          "type": "boolean",
          "description": "(Readonly) Is this the first comment for the discussion?"
        },
        "updated_by": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record related to the member who updated this comment"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) The date & time when the Comment was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) The date & time of the last update to the Comment"
        }
      }
    }
  }
}

Cost Groups

A Cost Group is a grouping container for Opportunity Costs

Cost Group

Retrieve a Cost Group
GET/cost_groups/{id}
Example URI
GET https://api.current-rms.com/api/v1/cost_groups/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Cost Group

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "cost_group": {
    "name": "Cost Group Name",
    "description": "Hello, world!",
    "active": true,
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "cost_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The Cost Group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Cost Group"
        },
        "active": {
          "type": "boolean",
          "description": "Is this Cost Group active?"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Cost Group record"
        }
      }
    }
  }
}
Update a Cost Group
PUT/cost_groups/{id}
Example URI
PUT https://api.current-rms.com/api/v1/cost_groups/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Cost Group

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "cost_group": {
    "name": "Cost Group Name",
    "description": "Hello, world!",
    "active": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "cost_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The Cost Group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Cost Group"
        },
        "active": {
          "type": "boolean",
          "description": "Is this Cost Group active?"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "cost_group": {
    "name": "Cost Group Name",
    "description": "Hello, world!",
    "active": true,
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "cost_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The Cost Group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Cost Group"
        },
        "active": {
          "type": "boolean",
          "description": "Is this Cost Group active?"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Cost Group record"
        }
      }
    }
  }
}
Delete an Cost Group
DELETE/cost_groups/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/cost_groups/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Cost Group

Response  204

Cost Groups

List Cost Groups
GET/cost_groups{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/cost_groups?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_description_cont] (string, optional, `search_text_here`) (string, required)

Search on name or description for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "cost_groups": [
    {
      "name": "Cost Group Name",
      "description": "Hello, world!",
      "active": true,
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "cost_groups": {
      "type": "array"
    }
  }
}
Create a Cost Group
POST/cost_groups
Example URI
POST https://api.current-rms.com/api/v1/cost_groups
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "cost_group": {
    "name": "Cost Group Name",
    "description": "Hello, world!",
    "active": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "cost_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The Cost Group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Cost Group"
        },
        "active": {
          "type": "boolean",
          "description": "Is this Cost Group active?"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "cost_group": {
    "name": "Cost Group Name",
    "description": "Hello, world!",
    "active": true,
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "cost_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The Cost Group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Cost Group"
        },
        "active": {
          "type": "boolean",
          "description": "Is this Cost Group active?"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Cost Group record"
        }
      }
    }
  }
}

Countries

A country record describes a country. Country records are read-only.

Country

Retrieve a Country
GET/countries/{id}
Example URI
GET https://api.current-rms.com/api/v1/countries/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired action

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "country": {
    "name": "United Kingdom",
    "code": "GB",
    "has_state_tax": false,
    "eu_member": true,
    "currency_code": "GBP",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "country": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The country name"
        },
        "code": {
          "type": "string",
          "description": "The country ISO code"
        },
        "has_state_tax": {
          "type": "boolean",
          "description": "Flag indicating if the country has state tax rules"
        },
        "eu_member": {
          "type": "boolean",
          "description": "Flag indicating if the country is an EU Member state"
        },
        "currency_code": {
          "type": "string",
          "description": "The country's currency code"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the country record"
        }
      }
    }
  }
}

Countries

List Countries
GET/countries{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/countries?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_code_cont] (string, optional, `search_text_here`) (string, required)

Search on name or country code for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "countries": [
    {
      "name": "United Kingdom",
      "code": "GB",
      "has_state_tax": false,
      "eu_member": true,
      "currency_code": "GBP",
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "countries": {
      "type": "array"
    }
  }
}

Custom Field Groups

A Custom Field Group is a grouping container for Custom Fields

Custom Field Group

Retrieve a Custom Field Group
GET/custom_field_groups/{id}
Example URI
GET https://api.current-rms.com/api/v1/custom_field_groups/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Custom Field Group

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field_group": {
    "name": "Group Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "sort_order": 1,
    "id": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field Group"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field Group"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field Group appears on screen"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Custom Field Group record"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Custom Field Group was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Custom Field Group"
        }
      }
    }
  }
}
Update a Custom Field Group
PUT/custom_field_groups/{id}
Example URI
PUT https://api.current-rms.com/api/v1/custom_field_groups/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Custom Field Group

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field_group": {
    "name": "Group Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "sort_order": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field Group"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field Group"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field Group appears on screen"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field_group": {
    "name": "Group Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "sort_order": 1,
    "id": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field Group"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field Group"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field Group appears on screen"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Custom Field Group record"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Custom Field Group was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Custom Field Group"
        }
      }
    }
  }
}
Delete a Custom Field Group
DELETE/custom_field_groups/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/custom_field_groups/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Custom Field Group

Response  204

Custom Field Groups

List Custom Field Groups
GET/custom_field_groups{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/custom_field_groups?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_description_cont] (string, optional, `search_text_here`) (string, required)

Search on name or description for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field_groups": [
    {
      "name": "Group Name",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "sort_order": 1,
      "id": 1,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field_groups": {
      "type": "array"
    }
  }
}
Create a Custom Field Group
POST/custom_field_groups
Example URI
POST https://api.current-rms.com/api/v1/custom_field_groups
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field_group": {
    "name": "Group Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "sort_order": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field Group"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field Group"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field Group appears on screen"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field_group": {
    "name": "Group Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "sort_order": 1,
    "id": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field Group"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field Group"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field Group appears on screen"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Custom Field Group record"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Custom Field Group was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Custom Field Group"
        }
      }
    }
  }
}

Custom Fields

A Custom Field is a customised data attribute for a model object

Custom Field

Retrieve a Custom Field
GET/custom_fields/{id}
Example URI
GET https://api.current-rms.com/api/v1/custom_fields/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Custom Field

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field": {
    "name": "Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "module_type": "Organisation",
    "sort_order": 1,
    "field_type": 0,
    "list_name_id": 1,
    "custom_field_group_id": 1,
    "settings": {},
    "id": 1,
    "document_layout_name": "name",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field"
        },
        "module_type": {
          "type": "string",
          "description": "The module name this Custom Field is for (this relates to the model name, however Member related Custom Fields would be one of: Organisation, Contact, User, Venue or Vehicle)"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field appears on screen"
        },
        "field_type": {
          "type": "number",
          "description": "The field type for this Custom Field (0 = String, 1 = Text, 2 = Number, 3 = Boolean, 4 = DateTime, 5 = Date, 6 = Time, 7 = Email, 8 = Website, 9 = List of Values, 10 = Multi List of Values, 11 = Auto Number, 12 = Currency, 13 = Telephone Number)"
        },
        "list_name_id": {
          "type": "number",
          "description": "The internal identifier of the List Name record this Custom Field relates to (only applicable when field_type is 9 or 10)"
        },
        "custom_field_group_id": {
          "type": "number",
          "description": "The internal identifier of the Custom Field Group record this Custom Field relates to"
        },
        "settings": {
          "type": "object",
          "properties": {},
          "description": "Additional settings for this Custom Field record"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Custom Field record"
        },
        "document_layout_name": {
          "type": "string",
          "description": "A parameterized version of the Custom Field's name (used in document layouts and custom field objects)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Custom Field was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Custom Field"
        }
      }
    }
  }
}
Update a Custom Field
PUT/custom_fields/{id}
Example URI
PUT https://api.current-rms.com/api/v1/custom_fields/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Custom Field

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field": {
    "name": "Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "module_type": "Organisation",
    "sort_order": 1,
    "field_type": 0,
    "list_name_id": 1,
    "custom_field_group_id": 1,
    "settings": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field"
        },
        "module_type": {
          "type": "string",
          "description": "The module name this Custom Field is for (this relates to the model name, however Member related Custom Fields would be one of: Organisation, Contact, User, Venue or Vehicle)"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field appears on screen"
        },
        "field_type": {
          "type": "number",
          "description": "The field type for this Custom Field (0 = String, 1 = Text, 2 = Number, 3 = Boolean, 4 = DateTime, 5 = Date, 6 = Time, 7 = Email, 8 = Website, 9 = List of Values, 10 = Multi List of Values, 11 = Auto Number, 12 = Currency, 13 = Telephone Number)"
        },
        "list_name_id": {
          "type": "number",
          "description": "The internal identifier of the List Name record this Custom Field relates to (only applicable when field_type is 9 or 10)"
        },
        "custom_field_group_id": {
          "type": "number",
          "description": "The internal identifier of the Custom Field Group record this Custom Field relates to"
        },
        "settings": {
          "type": "object",
          "properties": {},
          "description": "Additional settings for this Custom Field record"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field": {
    "name": "Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "module_type": "Organisation",
    "sort_order": 1,
    "field_type": 0,
    "list_name_id": 1,
    "custom_field_group_id": 1,
    "settings": {},
    "id": 1,
    "document_layout_name": "name",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field"
        },
        "module_type": {
          "type": "string",
          "description": "The module name this Custom Field is for (this relates to the model name, however Member related Custom Fields would be one of: Organisation, Contact, User, Venue or Vehicle)"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field appears on screen"
        },
        "field_type": {
          "type": "number",
          "description": "The field type for this Custom Field (0 = String, 1 = Text, 2 = Number, 3 = Boolean, 4 = DateTime, 5 = Date, 6 = Time, 7 = Email, 8 = Website, 9 = List of Values, 10 = Multi List of Values, 11 = Auto Number, 12 = Currency, 13 = Telephone Number)"
        },
        "list_name_id": {
          "type": "number",
          "description": "The internal identifier of the List Name record this Custom Field relates to (only applicable when field_type is 9 or 10)"
        },
        "custom_field_group_id": {
          "type": "number",
          "description": "The internal identifier of the Custom Field Group record this Custom Field relates to"
        },
        "settings": {
          "type": "object",
          "properties": {},
          "description": "Additional settings for this Custom Field record"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Custom Field record"
        },
        "document_layout_name": {
          "type": "string",
          "description": "A parameterized version of the Custom Field's name (used in document layouts and custom field objects)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Custom Field was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Custom Field"
        }
      }
    }
  }
}
Delete a Custom Field
DELETE/custom_fields/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/custom_fields/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Custom Field

Response  204

Custom Fields

List Custom Fields
GET/custom_fields{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/custom_fields?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_description_cont] (string, optional, `search_text_here`) (string, required)

Search on name or description for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_fields": [
    {
      "name": "Name",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "module_type": "Organisation",
      "sort_order": 1,
      "field_type": 0,
      "list_name_id": 1,
      "custom_field_group_id": 1,
      "settings": {},
      "id": 1,
      "document_layout_name": "name",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_fields": {
      "type": "array"
    }
  }
}
Create a Custom Field
POST/custom_fields
Example URI
POST https://api.current-rms.com/api/v1/custom_fields
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field": {
    "name": "Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "module_type": "Organisation",
    "sort_order": 1,
    "field_type": 0,
    "list_name_id": 1,
    "custom_field_group_id": 1,
    "settings": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field"
        },
        "module_type": {
          "type": "string",
          "description": "The module name this Custom Field is for (this relates to the model name, however Member related Custom Fields would be one of: Organisation, Contact, User, Venue or Vehicle)"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field appears on screen"
        },
        "field_type": {
          "type": "number",
          "description": "The field type for this Custom Field (0 = String, 1 = Text, 2 = Number, 3 = Boolean, 4 = DateTime, 5 = Date, 6 = Time, 7 = Email, 8 = Website, 9 = List of Values, 10 = Multi List of Values, 11 = Auto Number, 12 = Currency, 13 = Telephone Number)"
        },
        "list_name_id": {
          "type": "number",
          "description": "The internal identifier of the List Name record this Custom Field relates to (only applicable when field_type is 9 or 10)"
        },
        "custom_field_group_id": {
          "type": "number",
          "description": "The internal identifier of the Custom Field Group record this Custom Field relates to"
        },
        "settings": {
          "type": "object",
          "properties": {},
          "description": "Additional settings for this Custom Field record"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "custom_field": {
    "name": "Name",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "module_type": "Organisation",
    "sort_order": 1,
    "field_type": 0,
    "list_name_id": 1,
    "custom_field_group_id": 1,
    "settings": {},
    "id": 1,
    "document_layout_name": "name",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "custom_field": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Custom Field"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Custom Field"
        },
        "module_type": {
          "type": "string",
          "description": "The module name this Custom Field is for (this relates to the model name, however Member related Custom Fields would be one of: Organisation, Contact, User, Venue or Vehicle)"
        },
        "sort_order": {
          "type": "number",
          "description": "The order this Custom Field appears on screen"
        },
        "field_type": {
          "type": "number",
          "description": "The field type for this Custom Field (0 = String, 1 = Text, 2 = Number, 3 = Boolean, 4 = DateTime, 5 = Date, 6 = Time, 7 = Email, 8 = Website, 9 = List of Values, 10 = Multi List of Values, 11 = Auto Number, 12 = Currency, 13 = Telephone Number)"
        },
        "list_name_id": {
          "type": "number",
          "description": "The internal identifier of the List Name record this Custom Field relates to (only applicable when field_type is 9 or 10)"
        },
        "custom_field_group_id": {
          "type": "number",
          "description": "The internal identifier of the Custom Field Group record this Custom Field relates to"
        },
        "settings": {
          "type": "object",
          "properties": {},
          "description": "Additional settings for this Custom Field record"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Custom Field record"
        },
        "document_layout_name": {
          "type": "string",
          "description": "A parameterized version of the Custom Field's name (used in document layouts and custom field objects)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Custom Field was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Custom Field"
        }
      }
    }
  }
}

Discount Categories

A Discount Category record describes a collection of rules and mappings that are used to evaluate whether a discount percentage should be applied during order and invoice entry. Discount Category records are read-only.

Discount Category

Retrieve a Discount Category
GET/discount_categories/{id}
Example URI
GET https://api.current-rms.com/api/v1/discount_categories/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired discount category

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "discount category": {
    "name": "Default",
    "active": true,
    "discount_rules": [
      {
        "discount_category_id": 1,
        "starts_at": "2018-06-25",
        "ends_at": "2018-06-25",
        "quantity_from": "10",
        "quantity_to": "100",
        "percent": "10.5",
        "priority": 1,
        "discount_rule_maps": [
          {
            "discount_rule_id": 1,
            "map_type": 0,
            "mappable_id": 8,
            "mappable_type": "ProductGroup",
            "id": 1
          }
        ],
        "id": 1
      }
    ],
    "id": 1,
    "created_at": "2018-06-25T11:14:32.087Z",
    "updated_at": "2018-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "discount category": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Discount Category"
        },
        "active": {
          "type": "boolean",
          "description": "Is this Discount Category active? Inactive categories are hidden by default."
        },
        "discount_rules": {
          "type": "array",
          "description": "A collection of Discount Rule records for this category"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Discount Category record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Discount Category record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Discount Category record was last updated"
        }
      }
    }
  }
}

Discount Categories

List Discount Categories
GET/discount_categories{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/discount_categories?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_cont] (string, optional, `search_text_here`) (string, required)

Search on name for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "discount_categories": [
    {
      "name": "Default",
      "active": true,
      "discount_rules": [
        {
          "discount_category_id": 1,
          "starts_at": "2018-06-25",
          "ends_at": "2018-06-25",
          "quantity_from": "10",
          "quantity_to": "100",
          "percent": "10.5",
          "priority": 1,
          "discount_rule_maps": [
            {
              "discount_rule_id": 1,
              "map_type": 0,
              "mappable_id": 8,
              "mappable_type": "ProductGroup",
              "id": 1
            }
          ],
          "id": 1
        }
      ],
      "id": 1,
      "created_at": "2018-06-25T11:14:32.087Z",
      "updated_at": "2018-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "discount_categories": {
      "type": "array"
    }
  }
}

Discussions

A discussion contains comments received or sent related to an object within Current (e.g. Organisation, Product, Opportunity, Invoice etc.)

To remove existing participants from a discussion object, include the attribute _destroy with a value of 1 along with the participant record id when performing an update operation, for example: -

{
  "discussion": {
    "id": 1,
    "participants": [
      {
        "id": 1,
        "_destroy": 1
      }
    ]
  }
}

Discussion

Retrieve a Discussion
GET/discussions/{id}
Example URI
GET https://api.current-rms.com/api/v1/discussions/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired discussion

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "discussion": {
    "discussable_id": 39,
    "discussable_type": "Member",
    "subject": "Enable dynamic e-tailers",
    "last_comment_id": 1,
    "reply_count": 1,
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Discussion"
      }
    ],
    "created_by": 1,
    "id": 1,
    "updated_by": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "discussion": {
      "type": "object",
      "properties": {
        "discussable_id": {
          "type": "number",
          "description": "The internal identifier of the related record for the discussion"
        },
        "discussable_type": {
          "type": "string",
          "description": "The type of discussable record"
        },
        "subject": {
          "type": "string",
          "description": "The discussion subject"
        },
        "last_comment_id": {
          "type": "number",
          "description": "The internal identifier of the latest Comment (reply) record for the discussion"
        },
        "reply_count": {
          "type": "number",
          "description": "The number of reply Comment records present for the discussion"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this discussion"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Discussion record"
        },
        "updated_by": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record related to the member who updated this discussion"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) The date & time when the Discussion was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) The date & time of the last update to the Discussion"
        }
      },
      "required": [
        "subject"
      ]
    }
  }
}
Update an Discussion
PUT/discussions/{id}
Example URI
PUT https://api.current-rms.com/api/v1/discussions/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired discussion

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "discussion": {
    "discussable_id": 39,
    "discussable_type": "Member",
    "subject": "Enable dynamic e-tailers",
    "last_comment_id": 1,
    "reply_count": 1,
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Discussion"
      }
    ],
    "created_by": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "discussion": {
      "type": "object",
      "properties": {
        "discussable_id": {
          "type": "number",
          "description": "The internal identifier of the related record for the discussion"
        },
        "discussable_type": {
          "type": "string",
          "description": "The type of discussable record"
        },
        "subject": {
          "type": "string",
          "description": "The discussion subject"
        },
        "last_comment_id": {
          "type": "number",
          "description": "The internal identifier of the latest Comment (reply) record for the discussion"
        },
        "reply_count": {
          "type": "number",
          "description": "The number of reply Comment records present for the discussion"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this discussion"
        }
      },
      "required": [
        "subject"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "discussion": {
    "discussable_id": 39,
    "discussable_type": "Member",
    "subject": "Enable dynamic e-tailers",
    "last_comment_id": 1,
    "reply_count": 1,
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Discussion"
      }
    ],
    "created_by": 1,
    "id": 1,
    "updated_by": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "discussion": {
      "type": "object",
      "properties": {
        "discussable_id": {
          "type": "number",
          "description": "The internal identifier of the related record for the discussion"
        },
        "discussable_type": {
          "type": "string",
          "description": "The type of discussable record"
        },
        "subject": {
          "type": "string",
          "description": "The discussion subject"
        },
        "last_comment_id": {
          "type": "number",
          "description": "The internal identifier of the latest Comment (reply) record for the discussion"
        },
        "reply_count": {
          "type": "number",
          "description": "The number of reply Comment records present for the discussion"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this discussion"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Discussion record"
        },
        "updated_by": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record related to the member who updated this discussion"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) The date & time when the Discussion was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) The date & time of the last update to the Discussion"
        }
      },
      "required": [
        "subject"
      ]
    }
  }
}
Delete a Discussion
DELETE/discussions/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/discussions/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired discussion

Response  204

Discussions

List Discussions
GET/discussions{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/discussions?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[subject_cont] (string, optional, `search_text_here`) (string, required)

Search on subject for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "discussions": [
    {
      "discussable_id": 39,
      "discussable_type": "Member",
      "subject": "Enable dynamic e-tailers",
      "last_comment_id": 1,
      "reply_count": 1,
      "participants": [
        {
          "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
          "assignment_id": 110,
          "member_id": 1,
          "mute": false,
          "id": 1,
          "member_name": "Steve Smith",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "assignment_type": "Discussion"
        }
      ],
      "created_by": 1,
      "id": 1,
      "updated_by": 1,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "discussions": {
      "type": "array"
    }
  }
}
Create a Discussion
POST/discussions

It is possible to set the creator of the discussion and first_comment by including the created_by attribute with the ID of a Member record. When the participants attribute is not supplied, the method will create a participant for the discussion creator so the member must have a work email.

Example URI
POST https://api.current-rms.com/api/v1/discussions
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "discussion": {
    "discussable_id": 39,
    "discussable_type": "Member",
    "subject": "Enable dynamic e-tailers",
    "first_comment": {
      "remark": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "created_by": 1
    },
    "participants": [
      {
        "member_id": 1,
        "mute": false
      }
    ],
    "created_by": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "discussion": {
      "type": "object",
      "properties": {
        "discussable_id": {
          "type": "number",
          "description": "The internal identifier of the related record for the discussion"
        },
        "discussable_type": {
          "type": "string",
          "description": "The type of discussable record"
        },
        "subject": {
          "type": "string",
          "description": "The discussion subject"
        },
        "first_comment": {
          "type": "object",
          "properties": {
            "remark": {
              "type": "string",
              "description": "The comment text"
            },
            "created_by": {
              "type": "number",
              "description": "The internal identifier of the Member record related to the member who created this comment"
            }
          },
          "description": "The discussion's first comment"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this discussion"
        }
      },
      "required": [
        "discussable_id",
        "discussable_type",
        "subject",
        "first_comment"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "discussion": {
    "discussable_id": 39,
    "discussable_type": "Member",
    "subject": "Enable dynamic e-tailers",
    "last_comment_id": 1,
    "reply_count": 1,
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Discussion"
      }
    ],
    "created_by": 1,
    "id": 1,
    "updated_by": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "discussion": {
      "type": "object",
      "properties": {
        "discussable_id": {
          "type": "number",
          "description": "The internal identifier of the related record for the discussion"
        },
        "discussable_type": {
          "type": "string",
          "description": "The type of discussable record"
        },
        "subject": {
          "type": "string",
          "description": "The discussion subject"
        },
        "last_comment_id": {
          "type": "number",
          "description": "The internal identifier of the latest Comment (reply) record for the discussion"
        },
        "reply_count": {
          "type": "number",
          "description": "The number of reply Comment records present for the discussion"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this activity"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who created this discussion"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Discussion record"
        },
        "updated_by": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record related to the member who updated this discussion"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) The date & time when the Discussion was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) The date & time of the last update to the Discussion"
        }
      },
      "required": [
        "subject"
      ]
    }
  }
}

Documents

A Document record describes a document layout used for printed output. Document records are read-only.

Document

Retrieve a Document
GET/documents/{id}
Example URI
GET https://api.current-rms.com/api/v1/documents/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Document

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "document": {
    "name": "Quotation",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "module_type": "Opportunity",
    "system": true,
    "active": true,
    "layout": "<div><p class=\"large-para\">I am a document layout</p></div>",
    "header_layout": "",
    "footer_layout": "",
    "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>",
    "page_size": "Letter",
    "orientation": "Portrait",
    "states": [],
    "statuses": [],
    "types": [],
    "membership_types": [],
    "page_width": 210,
    "page_height": 297,
    "margin_top": 1,
    "margin_left": 1,
    "margin_right": 1,
    "margin_bottom": 1,
    "colors": [],
    "fields": [],
    "layout_flags": [],
    "grouped_fields": [],
    "grouped_layout_flags": [],
    "filename": "",
    "roles": [],
    "use_for_approval": true,
    "require_signature": true,
    "approval_custom_fields": [],
    "approval_accept_text": "",
    "approval_decline_text": "",
    "use_for_signing": false,
    "default_signing_message": "",
    "days_to_sign": 7,
    "reminder_frequency": 2,
    "library_document_ids": [],
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "document": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The document layout name"
        },
        "description": {
          "type": "string",
          "description": "The document long description"
        },
        "module_type": {
          "type": "string",
          "description": "The module type of the document record (e.g. Opportunity, Invoice, Product, Member, Activity etc.)"
        },
        "system": {
          "type": "boolean",
          "description": "Is this document layout a system record?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this document layout active?"
        },
        "layout": {
          "type": "string",
          "description": "The body html layout"
        },
        "header_layout": {
          "type": "string",
          "description": "The header html layout (repeated at the top of each page)"
        },
        "footer_layout": {
          "type": "string",
          "description": "The footer html layout (repeated at the bottom of each page)"
        },
        "stylesheet": {
          "type": "string",
          "description": "The document css stylesheet"
        },
        "page_size": {
          "type": "string",
          "description": "The document layout page size (A4, Letter, Custom)"
        },
        "orientation": {
          "type": "string",
          "description": "The document layout page orientation (Portrait or Landscape)"
        },
        "states": {
          "type": "array",
          "description": "An array of record states this document layout can be used for - see Opportunity State for possible integer values"
        },
        "statuses": {
          "type": "array",
          "description": "An array of record statuses this document layout can be used for - see Opportunity, Invoice & Project Statuses for possible integer values"
        },
        "types": {
          "type": "array",
          "description": "An array of record types this document layout can be used for - see Invoice and Quarantine Type for possible integer values"
        },
        "membership_types": {
          "type": "array",
          "description": "An array of membership types this document layout can be used for - see Member Membership Type for possible string values"
        },
        "page_width": {
          "type": "number",
          "description": "The page width in millimeters (only applicable when page_size is Custom)"
        },
        "page_height": {
          "type": "number",
          "description": "The page height in millimeters (only applicable when page_size is Custom)"
        },
        "margin_top": {
          "type": "number",
          "description": "The top margin in millimeters (the area available to the header_layout)"
        },
        "margin_left": {
          "type": "number",
          "description": "The left margin in millimeters"
        },
        "margin_right": {
          "type": "number",
          "description": "The right margin in millimeters"
        },
        "margin_bottom": {
          "type": "number",
          "description": "The bottom margin in millimeters (the area available to the footer_layout)"
        },
        "colors": {
          "type": "array",
          "description": "An array of key/value pairs for color codes used within this document layout"
        },
        "fields": {
          "type": "array",
          "description": "An array of key/value pairs for additional text messages used within this document layout"
        },
        "layout_flags": {
          "type": "array",
          "description": "An array of key/value pairs for logic flags used within this document layout"
        },
        "grouped_fields": {
          "type": "array",
          "description": "An array of hashes of key/value pairs for grouped text messages used within this document layout"
        },
        "grouped_layout_flags": {
          "type": "array",
          "description": "An array of hashes of key/value pairs for grouped logic flags used within this document layout"
        },
        "filename": {
          "type": "string",
          "description": "The original filename of the document layout (only applicable to system document layouts)"
        },
        "roles": {
          "type": "array",
          "description": "An array of Role records IDs that have access to this document layout"
        },
        "use_for_approval": {
          "type": "boolean",
          "description": "Is document approval enabled for this document layout?"
        },
        "require_signature": {
          "type": "boolean",
          "description": "Can a signature be captured during approval for this document layout?"
        },
        "approval_custom_fields": {
          "type": "array",
          "description": "An array of Custom Field records IDs that should shown during document approval"
        },
        "approval_accept_text": {
          "type": "string",
          "description": "The message shown during document approval accept"
        },
        "approval_decline_text": {
          "type": "string",
          "description": "The message shown during document approval decline"
        },
        "use_for_signing": {
          "type": "boolean",
          "description": "Use this document layout with Adobe Sign?"
        },
        "default_signing_message": {
          "type": "string",
          "description": "The default discussion message to be used when sending this document for signing (Adobe Sign)"
        },
        "days_to_sign": {
          "type": "number",
          "description": "The number of days before the document must be signed (Adobe Sign)"
        },
        "reminder_frequency": {
          "type": "number",
          "description": "The reminder frequency (0=None, 1=Daily, 2=Weekly) (Adobe Sign)"
        },
        "library_document_ids": {
          "type": "array",
          "description": "An array Adobe Sign document Library IDs to include with this document when sending for signing (Adobe Sign)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Document record"
        }
      }
    }
  }
}

Documents

List Documents
GET/documents{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/documents?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_cont] (string, optional, `search_text_here`) (string, required)

Search on name for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "documents": [
    {
      "name": "Quotation",
      "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
      "module_type": "Opportunity",
      "system": true,
      "active": true,
      "layout": "<div><p class=\"large-para\">I am a document layout</p></div>",
      "header_layout": "",
      "footer_layout": "",
      "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>",
      "page_size": "Letter",
      "orientation": "Portrait",
      "states": [],
      "statuses": [],
      "types": [],
      "membership_types": [],
      "page_width": 210,
      "page_height": 297,
      "margin_top": 1,
      "margin_left": 1,
      "margin_right": 1,
      "margin_bottom": 1,
      "colors": [],
      "fields": [],
      "layout_flags": [],
      "grouped_fields": [],
      "grouped_layout_flags": [],
      "filename": "",
      "roles": [],
      "use_for_approval": true,
      "require_signature": true,
      "approval_custom_fields": [],
      "approval_accept_text": "",
      "approval_decline_text": "",
      "use_for_signing": false,
      "default_signing_message": "",
      "days_to_sign": 7,
      "reminder_frequency": 2,
      "library_document_ids": [],
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z",
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "documents": {
      "type": "array"
    }
  }
}

Inspections

An Inspection record represents a test or inspection that should be periodically carried out against serialised rental assets. Task list field_type values are 0=String, 1=Number, 2=Boolean.

Inspection

Retrieve a Inspection
GET/inspections/{id}
Example URI
GET https://api.current-rms.com/api/v1/inspections/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Inspection

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection": {
    "name": "Inspection Name",
    "mandatory": true,
    "active": true,
    "auto_pass": true,
    "schedule_type": 2,
    "schedule_interval": 6,
    "task_list": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1
      }
    ],
    "id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The inspection name"
        },
        "mandatory": {
          "type": "boolean",
          "description": "Is this inspection mandatory?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this inspection active?"
        },
        "auto_pass": {
          "type": "boolean",
          "description": "When new stock is added, automatically pass this inspection?"
        },
        "schedule_type": {
          "type": "number",
          "description": "The schedule type (0=Day, 1=Week, 2=Month, 3=Year)"
        },
        "schedule_interval": {
          "type": "number",
          "description": "The quantity of schedule type units between inspections"
        },
        "task_list": {
          "type": "array",
          "description": "A list of inspection tasks with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values) and 'list_name_id' (internal identifier of a List Name record for a List of Values task)"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Inspection record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection record was last updated"
        }
      }
    }
  }
}
Update a Inspection
PUT/inspections/{id}
Example URI
PUT https://api.current-rms.com/api/v1/inspections/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Inspection

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection": {
    "name": "Inspection Name",
    "mandatory": true,
    "active": true,
    "auto_pass": true,
    "schedule_type": 2,
    "schedule_interval": 6,
    "task_list": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The inspection name"
        },
        "mandatory": {
          "type": "boolean",
          "description": "Is this inspection mandatory?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this inspection active?"
        },
        "auto_pass": {
          "type": "boolean",
          "description": "When new stock is added, automatically pass this inspection?"
        },
        "schedule_type": {
          "type": "number",
          "description": "The schedule type (0=Day, 1=Week, 2=Month, 3=Year)"
        },
        "schedule_interval": {
          "type": "number",
          "description": "The quantity of schedule type units between inspections"
        },
        "task_list": {
          "type": "array",
          "description": "A list of inspection tasks with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values) and 'list_name_id' (internal identifier of a List Name record for a List of Values task)"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection": {
    "name": "Inspection Name",
    "mandatory": true,
    "active": true,
    "auto_pass": true,
    "schedule_type": 2,
    "schedule_interval": 6,
    "task_list": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1
      }
    ],
    "id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The inspection name"
        },
        "mandatory": {
          "type": "boolean",
          "description": "Is this inspection mandatory?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this inspection active?"
        },
        "auto_pass": {
          "type": "boolean",
          "description": "When new stock is added, automatically pass this inspection?"
        },
        "schedule_type": {
          "type": "number",
          "description": "The schedule type (0=Day, 1=Week, 2=Month, 3=Year)"
        },
        "schedule_interval": {
          "type": "number",
          "description": "The quantity of schedule type units between inspections"
        },
        "task_list": {
          "type": "array",
          "description": "A list of inspection tasks with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values) and 'list_name_id' (internal identifier of a List Name record for a List of Values task)"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Inspection record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection record was last updated"
        }
      }
    }
  }
}
Delete an Inspection
DELETE/inspections/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/inspections/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Inspection

Response  204

Inspections

List Inspections
GET/inspections{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/inspections?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_cont] (string, optional, `search_text_here`) (string, required)

Search on name for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "inspections": [
    {
      "name": "Inspection Name",
      "mandatory": true,
      "active": true,
      "auto_pass": true,
      "schedule_type": 2,
      "schedule_interval": 6,
      "task_list": [
        {
          "name": "Task name",
          "field_type": 3,
          "list_name_id": 1
        }
      ],
      "id": 1,
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspections": {
      "type": "array"
    }
  }
}
Create a Inspection
POST/inspections
Example URI
POST https://api.current-rms.com/api/v1/inspections
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection": {
    "name": "Inspection Name",
    "mandatory": true,
    "active": true,
    "auto_pass": true,
    "schedule_type": 2,
    "schedule_interval": 6,
    "task_list": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The inspection name"
        },
        "mandatory": {
          "type": "boolean",
          "description": "Is this inspection mandatory?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this inspection active?"
        },
        "auto_pass": {
          "type": "boolean",
          "description": "When new stock is added, automatically pass this inspection?"
        },
        "schedule_type": {
          "type": "number",
          "description": "The schedule type (0=Day, 1=Week, 2=Month, 3=Year)"
        },
        "schedule_interval": {
          "type": "number",
          "description": "The quantity of schedule type units between inspections"
        },
        "task_list": {
          "type": "array",
          "description": "A list of inspection tasks with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values) and 'list_name_id' (internal identifier of a List Name record for a List of Values task)"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection": {
    "name": "Inspection Name",
    "mandatory": true,
    "active": true,
    "auto_pass": true,
    "schedule_type": 2,
    "schedule_interval": 6,
    "task_list": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1
      }
    ],
    "id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The inspection name"
        },
        "mandatory": {
          "type": "boolean",
          "description": "Is this inspection mandatory?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this inspection active?"
        },
        "auto_pass": {
          "type": "boolean",
          "description": "When new stock is added, automatically pass this inspection?"
        },
        "schedule_type": {
          "type": "number",
          "description": "The schedule type (0=Day, 1=Week, 2=Month, 3=Year)"
        },
        "schedule_interval": {
          "type": "number",
          "description": "The quantity of schedule type units between inspections"
        },
        "task_list": {
          "type": "array",
          "description": "A list of inspection tasks with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values) and 'list_name_id' (internal identifier of a List Name record for a List of Values task)"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Inspection record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection record was last updated"
        }
      }
    }
  }
}

Inspection Results

An Inspection Result record represents a test or inspection result that has been recorded.

Inspection Result

Retrieve a Inspection Result
GET/inspection_results/{id}
Example URI
GET https://api.current-rms.com/api/v1/inspection_results/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Inspection Result

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection_result": {
    "inspection_id": 1,
    "stock_level_id": 1,
    "inspection_at": "2020-06-25T11:14:32.087Z",
    "passed": true,
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "created_by": 1,
    "task_list_results": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1,
        "value": "1"
      }
    ],
    "id": 1,
    "updated_by": 1,
    "created_at": "2020-06-25T11:14:32.087Z",
    "updated_at": "2020-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection_result": {
      "type": "object",
      "properties": {
        "inspection_id": {
          "type": "number",
          "description": "The internal identifier of the Inspection record this inspection result is related to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this inspection result is related to"
        },
        "inspection_at": {
          "type": "string",
          "description": "The date and time of the inspection result"
        },
        "passed": {
          "type": "boolean",
          "description": "Was this inspection result an overall pass?"
        },
        "description": {
          "type": "string",
          "description": "The inspection result long description"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who performed this inspection"
        },
        "task_list_results": {
          "type": "array",
          "description": "A list of inspection task results with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values), 'list_name_id' (internal identifier of a List Name record for a List of Values task) and 'value'"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Inspection Result record"
        },
        "updated_by": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record related to the member who updated this inspection result"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection Result record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection Result record was last updated"
        }
      }
    }
  }
}
Update a Inspection Result
PUT/inspection_results/{id}
Example URI
PUT https://api.current-rms.com/api/v1/inspection_results/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Inspection Result

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection_result": {
    "inspection_id": 1,
    "stock_level_id": 1,
    "inspection_at": "2020-06-25T11:14:32.087Z",
    "passed": true,
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "created_by": 1,
    "task_list_results": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1,
        "value": "1"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection_result": {
      "type": "object",
      "properties": {
        "inspection_id": {
          "type": "number",
          "description": "The internal identifier of the Inspection record this inspection result is related to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this inspection result is related to"
        },
        "inspection_at": {
          "type": "string",
          "description": "The date and time of the inspection result"
        },
        "passed": {
          "type": "boolean",
          "description": "Was this inspection result an overall pass?"
        },
        "description": {
          "type": "string",
          "description": "The inspection result long description"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who performed this inspection"
        },
        "task_list_results": {
          "type": "array",
          "description": "A list of inspection task results with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values), 'list_name_id' (internal identifier of a List Name record for a List of Values task) and 'value'"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection_result": {
    "inspection_id": 1,
    "stock_level_id": 1,
    "inspection_at": "2020-06-25T11:14:32.087Z",
    "passed": true,
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "created_by": 1,
    "task_list_results": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1,
        "value": "1"
      }
    ],
    "id": 1,
    "updated_by": 1,
    "created_at": "2020-06-25T11:14:32.087Z",
    "updated_at": "2020-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection_result": {
      "type": "object",
      "properties": {
        "inspection_id": {
          "type": "number",
          "description": "The internal identifier of the Inspection record this inspection result is related to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this inspection result is related to"
        },
        "inspection_at": {
          "type": "string",
          "description": "The date and time of the inspection result"
        },
        "passed": {
          "type": "boolean",
          "description": "Was this inspection result an overall pass?"
        },
        "description": {
          "type": "string",
          "description": "The inspection result long description"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who performed this inspection"
        },
        "task_list_results": {
          "type": "array",
          "description": "A list of inspection task results with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values), 'list_name_id' (internal identifier of a List Name record for a List of Values task) and 'value'"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Inspection Result record"
        },
        "updated_by": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record related to the member who updated this inspection result"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection Result record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection Result record was last updated"
        }
      }
    }
  }
}
Delete an Inspection Result
DELETE/inspection_results/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/inspection_results/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Inspection Result

Response  204

Inspection Results

List Inspection Results
GET/inspection_results{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/inspection_results?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[stock_level_id] (string, optional)search_text_here

Search for test results for a given stock level id

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection_results": [
    {
      "inspection_id": 1,
      "stock_level_id": 1,
      "inspection_at": "2020-06-25T11:14:32.087Z",
      "passed": true,
      "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
      "created_by": 1,
      "task_list_results": [
        {
          "name": "Task name",
          "field_type": 3,
          "list_name_id": 1,
          "value": "1"
        }
      ],
      "id": 1,
      "updated_by": 1,
      "created_at": "2020-06-25T11:14:32.087Z",
      "updated_at": "2020-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection_results": {
      "type": "array"
    }
  }
}
Create a Inspection Result
POST/inspection_results

It is possible to set the creator (tested by) of an inspection result by including the created_by attribute with the ID of a Member record. The member record must be either a user, contact or an organisation.

Example URI
POST https://api.current-rms.com/api/v1/inspection_results
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection_result": {
    "inspection_id": 1,
    "stock_level_id": 1,
    "inspection_at": "2020-06-25T11:14:32.087Z",
    "passed": true,
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "created_by": 1,
    "task_list_results": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1,
        "value": "1"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection_result": {
      "type": "object",
      "properties": {
        "inspection_id": {
          "type": "number",
          "description": "The internal identifier of the Inspection record this inspection result is related to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this inspection result is related to"
        },
        "inspection_at": {
          "type": "string",
          "description": "The date and time of the inspection result"
        },
        "passed": {
          "type": "boolean",
          "description": "Was this inspection result an overall pass?"
        },
        "description": {
          "type": "string",
          "description": "The inspection result long description"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who performed this inspection"
        },
        "task_list_results": {
          "type": "array",
          "description": "A list of inspection task results with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values), 'list_name_id' (internal identifier of a List Name record for a List of Values task) and 'value'"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "inspection_result": {
    "inspection_id": 1,
    "stock_level_id": 1,
    "inspection_at": "2020-06-25T11:14:32.087Z",
    "passed": true,
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "created_by": 1,
    "task_list_results": [
      {
        "name": "Task name",
        "field_type": 3,
        "list_name_id": 1,
        "value": "1"
      }
    ],
    "id": 1,
    "updated_by": 1,
    "created_at": "2020-06-25T11:14:32.087Z",
    "updated_at": "2020-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "inspection_result": {
      "type": "object",
      "properties": {
        "inspection_id": {
          "type": "number",
          "description": "The internal identifier of the Inspection record this inspection result is related to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this inspection result is related to"
        },
        "inspection_at": {
          "type": "string",
          "description": "The date and time of the inspection result"
        },
        "passed": {
          "type": "boolean",
          "description": "Was this inspection result an overall pass?"
        },
        "description": {
          "type": "string",
          "description": "The inspection result long description"
        },
        "created_by": {
          "type": "number",
          "description": "The internal identifier of the Member record related to the member who performed this inspection"
        },
        "task_list_results": {
          "type": "array",
          "description": "A list of inspection task results with a 'name', 'field_type' (0=String, 1=Number, 2=Boolean, 3=List of Values), 'list_name_id' (internal identifier of a List Name record for a List of Values task) and 'value'"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Inspection Result record"
        },
        "updated_by": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record related to the member who updated this inspection result"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection Result record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Inspection Result record was last updated"
        }
      }
    }
  }
}

Invoices/Credits

An invoice record contains header information for an Invoice or Credit Note

Invoice

Retrieve an Invoice/Credit
GET/invoices/{id}
Example URI
GET https://api.current-rms.com/api/v1/invoices/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired invoice/credit

include[] (string, optional)invoice_items

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; owner, member, billing_address, destination, venue, invoice_taxes, tax_class and invoice_items.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 137,
    "venue_id": 1,
    "tax_class_id": 1,
    "subject": "Aggregate b2c paradigms",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "number": "0000000006",
    "invoice_type": 0,
    "invoice_type_name": "Invoice",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "due_at": "2015-07-17T11:15:00.000Z",
    "status": 10,
    "status_name": "Issued",
    "reference": "2266",
    "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
    "owned_by": 1,
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "tax_total": "3198.0",
    "prices_include_tax": false,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "invoice_taxes": [
      {
        "id": 1,
        "invoice_id": 15,
        "tax_rate_id": 1,
        "sort_order": 0,
        "name": "VAT Standard",
        "rate": "20.0",
        "charge": "15990.0",
        "amount": "3198.0",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    ],
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this invoice is related to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "venue_id": {
          "type": "number",
          "description": "The internal identifier of the Member Venue record this invoice is related to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "description": {
          "type": "string",
          "description": "The invoice long description"
        },
        "number": {
          "type": "string",
          "description": "(Readonly) The invoice number"
        },
        "invoice_type": {
          "type": "number",
          "description": "The invoice type (0 = Invoice, 1 = Credit Note)"
        },
        "invoice_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice type name"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time"
        },
        "due_at": {
          "type": "string",
          "description": "The invoice due date/time"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The invoice status (0 = Open, 10 = Issued, 20 = Paid, 30 = Posted, 40 = Voided)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The invoice status name"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this invoice"
        },
        "external_description": {
          "type": "string",
          "description": "The invoice long external description"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total including tax"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice tax total"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this invoice include tax or not"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this invoice"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "invoice_taxes": {
          "type": "array",
          "description": "The tax breakdown for this invoice"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice record"
        }
      },
      "required": [
        "store_id",
        "member_id",
        "subject",
        "invoice_type",
        "invoiced_at",
        "due_at"
      ]
    }
  }
}

Invoices

List Invoices/Credits
GET/invoices{?page,per_page,filtermode,view_id}
Example URI
GET https://api.current-rms.com/api/v1/invoices?page=1&per_page=20&filtermode=all&view_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

filtermode (string, optional)all

A built in filtermode name (e.g. live, inactive, all, invoices, credits)

view_id (number, optional)1

The record id of a custom view

q[subject_or_number_or_description_or_member_name_or_tags_name_cont] (string, optional, `search_text_here`) (string, required)

Search on subject, number, description, member organisation name or tags for matching records

include[] (string, optional)invoice_items

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; owner, member, billing_address, destination, venue, invoice_taxes, tax_class and invoice_items.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoices": [
    {
      "store_id": 1,
      "member_id": 1,
      "billing_address_id": 137,
      "venue_id": 1,
      "tax_class_id": 1,
      "subject": "Aggregate b2c paradigms",
      "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
      "number": "0000000006",
      "invoice_type": 0,
      "invoice_type_name": "Invoice",
      "invoiced_at": "2015-07-02T11:15:00.000Z",
      "due_at": "2015-07-17T11:15:00.000Z",
      "status": 10,
      "status_name": "Issued",
      "reference": "2266",
      "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
      "owned_by": 1,
      "charge_total": "15990.0",
      "charge_excluding_tax_total": "15990.0",
      "charge_including_tax_total": "19188.0",
      "tax_total": "3198.0",
      "prices_include_tax": false,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "custom_fields": {},
      "owner": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "title": "Manager",
          "owner": true,
          "admin": true
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "member": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "title": "Manager",
          "owner": true,
          "admin": true
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "billing_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z"
      },
      "venue": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "invoice_taxes": [
        {
          "id": 1,
          "invoice_id": 15,
          "tax_rate_id": 1,
          "sort_order": 0,
          "name": "VAT Standard",
          "rate": "20.0",
          "charge": "15990.0",
          "amount": "3198.0",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        }
      ],
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoices": {
      "type": "array"
    }
  }
}
Create an Invoice/Credit
POST/invoices

This method will create an Open status Invoice or Credit. You may provide additional invoice attributes to those shown in the example request, however those shown are the minimum required to create an invoice.

When creating an invoice for an opportunity the additional parameters are required (opportunity_id, group_by, part_invoice_type), however you need only provide owned_by in the invoice attributes.

Values for group_by are: Opportunity_Item => 0, Opportunity_Group => 1, Product_Group => 2, Opportunity => 3.
Values for part_invoice_type are: Standard => 0, Part => 1, Final => 2).
When creating a part invoice, you must provide a value for part_invoice_amount.

Example URI
POST https://api.current-rms.com/api/v1/invoices
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_id": 1,
  "group_by": 0,
  "part_invoice_type": 0,
  "part_invoice_amount": "1000.00",
  "invoice": {
    "member_id": 1,
    "billing_address_id": 137,
    "subject": "Aggregate b2c paradigms",
    "owned_by": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_id": {
      "type": "number"
    },
    "group_by": {
      "type": "number"
    },
    "part_invoice_type": {
      "type": "number"
    },
    "part_invoice_amount": {
      "type": "string"
    },
    "invoice": {
      "type": "object",
      "properties": {
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        }
      },
      "required": [
        "member_id",
        "billing_address_id",
        "subject",
        "owned_by"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 137,
    "venue_id": 1,
    "tax_class_id": 1,
    "subject": "Aggregate b2c paradigms",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "number": "0000000006",
    "invoice_type": 0,
    "invoice_type_name": "Invoice",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "due_at": "2015-07-17T11:15:00.000Z",
    "status": 10,
    "status_name": "Issued",
    "reference": "2266",
    "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
    "owned_by": 1,
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "tax_total": "3198.0",
    "prices_include_tax": false,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "invoice_taxes": [
      {
        "id": 1,
        "invoice_id": 15,
        "tax_rate_id": 1,
        "sort_order": 0,
        "name": "VAT Standard",
        "rate": "20.0",
        "charge": "15990.0",
        "amount": "3198.0",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    ],
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this invoice is related to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "venue_id": {
          "type": "number",
          "description": "The internal identifier of the Member Venue record this invoice is related to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "description": {
          "type": "string",
          "description": "The invoice long description"
        },
        "number": {
          "type": "string",
          "description": "(Readonly) The invoice number"
        },
        "invoice_type": {
          "type": "number",
          "description": "The invoice type (0 = Invoice, 1 = Credit Note)"
        },
        "invoice_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice type name"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time"
        },
        "due_at": {
          "type": "string",
          "description": "The invoice due date/time"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The invoice status (0 = Open, 10 = Issued, 20 = Paid, 30 = Posted, 40 = Voided)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The invoice status name"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this invoice"
        },
        "external_description": {
          "type": "string",
          "description": "The invoice long external description"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total including tax"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice tax total"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this invoice include tax or not"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this invoice"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "invoice_taxes": {
          "type": "array",
          "description": "The tax breakdown for this invoice"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice record"
        }
      },
      "required": [
        "store_id",
        "member_id",
        "subject",
        "invoice_type",
        "invoiced_at",
        "due_at"
      ]
    }
  }
}

Invoice filtering examples

Invoices for an Opportunity
GET/invoices
/api/v1/invoices?q[invoice_items_source_type_eq]=Opportunity&q[invoice_items_source_id_eq]=1261
Example URI
GET https://api.current-rms.com/api/v1/invoices

Prepare Invoice/Credit Document

This method will return the latest Invoice Document for the given Document layout ID, or prepare a new one if the invoice or credit has changed since the last document was prepared.

Prepare an Invoice Document
GET/invoices/{id}/prepare_document{?document_id}
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/prepare_document?document_id=1
Parameters
NameExampleDescription
id (number, required)1
document_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice_document": {
    "invoice_id": 1,
    "document_id": 1,
    "data": {
      "header": "<div><p>Header dummy html</p></div>",
      "body": "<div><p>Body dummy html</p></div>",
      "footer": "<div><p>Footer dummy html</p></div>",
      "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
    },
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice_document": {
      "type": "object",
      "properties": {
        "invoice_id": {
          "type": "number",
          "description": "The internal identifier of the Invoice record this Invoice Document relates to"
        },
        "document_id": {
          "type": "number",
          "description": "The internal identifier of the Document record this Invoice Document relates to"
        },
        "data": {
          "type": "object",
          "properties": {
            "header": {
              "type": "string",
              "description": "The HTML for the header section"
            },
            "body": {
              "type": "string",
              "description": "The HTML for the body section"
            },
            "footer": {
              "type": "string",
              "description": "The HTML for the footer section"
            },
            "stylesheet": {
              "type": "string",
              "description": "The CSS stylesheet for the document"
            }
          },
          "description": "The HTML and CSS of this Invoice Document"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice Document record"
        }
      }
    }
  }
}

Issue Invoice/Credit

This method will change the status of an invoice/credit to Issued and assign it the next invoice/credit number from your sequence.

Issue an Invoice/Credit
GET/invoices/{id}/issue
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/issue
Parameters
NameExampleDescription
id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 137,
    "venue_id": 1,
    "tax_class_id": 1,
    "subject": "Aggregate b2c paradigms",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "number": "0000000006",
    "invoice_type": 0,
    "invoice_type_name": "Invoice",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "due_at": "2015-07-17T11:15:00.000Z",
    "status": 10,
    "status_name": "Issued",
    "reference": "2266",
    "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
    "owned_by": 1,
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "tax_total": "3198.0",
    "prices_include_tax": false,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "invoice_taxes": [
      {
        "id": 1,
        "invoice_id": 15,
        "tax_rate_id": 1,
        "sort_order": 0,
        "name": "VAT Standard",
        "rate": "20.0",
        "charge": "15990.0",
        "amount": "3198.0",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    ],
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this invoice is related to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "venue_id": {
          "type": "number",
          "description": "The internal identifier of the Member Venue record this invoice is related to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "description": {
          "type": "string",
          "description": "The invoice long description"
        },
        "number": {
          "type": "string",
          "description": "(Readonly) The invoice number"
        },
        "invoice_type": {
          "type": "number",
          "description": "The invoice type (0 = Invoice, 1 = Credit Note)"
        },
        "invoice_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice type name"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time"
        },
        "due_at": {
          "type": "string",
          "description": "The invoice due date/time"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The invoice status (0 = Open, 10 = Issued, 20 = Paid, 30 = Posted, 40 = Voided)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The invoice status name"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this invoice"
        },
        "external_description": {
          "type": "string",
          "description": "The invoice long external description"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total including tax"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice tax total"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this invoice include tax or not"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this invoice"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "invoice_taxes": {
          "type": "array",
          "description": "The tax breakdown for this invoice"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice record"
        }
      },
      "required": [
        "store_id",
        "member_id",
        "subject",
        "invoice_type",
        "invoiced_at",
        "due_at"
      ]
    }
  }
}

Mark Invoice Paid

This method will change the status of an invoice from Issued to Paid.

Mark an Invoice as Paid
GET/invoices/{id}/mark_paid
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/mark_paid
Parameters
NameExampleDescription
id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 137,
    "venue_id": 1,
    "tax_class_id": 1,
    "subject": "Aggregate b2c paradigms",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "number": "0000000006",
    "invoice_type": 0,
    "invoice_type_name": "Invoice",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "due_at": "2015-07-17T11:15:00.000Z",
    "status": 10,
    "status_name": "Issued",
    "reference": "2266",
    "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
    "owned_by": 1,
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "tax_total": "3198.0",
    "prices_include_tax": false,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "invoice_taxes": [
      {
        "id": 1,
        "invoice_id": 15,
        "tax_rate_id": 1,
        "sort_order": 0,
        "name": "VAT Standard",
        "rate": "20.0",
        "charge": "15990.0",
        "amount": "3198.0",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    ],
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this invoice is related to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "venue_id": {
          "type": "number",
          "description": "The internal identifier of the Member Venue record this invoice is related to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "description": {
          "type": "string",
          "description": "The invoice long description"
        },
        "number": {
          "type": "string",
          "description": "(Readonly) The invoice number"
        },
        "invoice_type": {
          "type": "number",
          "description": "The invoice type (0 = Invoice, 1 = Credit Note)"
        },
        "invoice_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice type name"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time"
        },
        "due_at": {
          "type": "string",
          "description": "The invoice due date/time"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The invoice status (0 = Open, 10 = Issued, 20 = Paid, 30 = Posted, 40 = Voided)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The invoice status name"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this invoice"
        },
        "external_description": {
          "type": "string",
          "description": "The invoice long external description"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total including tax"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice tax total"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this invoice include tax or not"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this invoice"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "invoice_taxes": {
          "type": "array",
          "description": "The tax breakdown for this invoice"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice record"
        }
      },
      "required": [
        "store_id",
        "member_id",
        "subject",
        "invoice_type",
        "invoiced_at",
        "due_at"
      ]
    }
  }
}

Mark Invoice Unpaid

This method will change the status of an invoice from Paid to Issued.

Mark an Invoice as Unpaid
GET/invoices/{id}/mark_unpaid
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/mark_unpaid
Parameters
NameExampleDescription
id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 137,
    "venue_id": 1,
    "tax_class_id": 1,
    "subject": "Aggregate b2c paradigms",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "number": "0000000006",
    "invoice_type": 0,
    "invoice_type_name": "Invoice",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "due_at": "2015-07-17T11:15:00.000Z",
    "status": 10,
    "status_name": "Issued",
    "reference": "2266",
    "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
    "owned_by": 1,
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "tax_total": "3198.0",
    "prices_include_tax": false,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "invoice_taxes": [
      {
        "id": 1,
        "invoice_id": 15,
        "tax_rate_id": 1,
        "sort_order": 0,
        "name": "VAT Standard",
        "rate": "20.0",
        "charge": "15990.0",
        "amount": "3198.0",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    ],
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this invoice is related to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "venue_id": {
          "type": "number",
          "description": "The internal identifier of the Member Venue record this invoice is related to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "description": {
          "type": "string",
          "description": "The invoice long description"
        },
        "number": {
          "type": "string",
          "description": "(Readonly) The invoice number"
        },
        "invoice_type": {
          "type": "number",
          "description": "The invoice type (0 = Invoice, 1 = Credit Note)"
        },
        "invoice_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice type name"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time"
        },
        "due_at": {
          "type": "string",
          "description": "The invoice due date/time"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The invoice status (0 = Open, 10 = Issued, 20 = Paid, 30 = Posted, 40 = Voided)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The invoice status name"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this invoice"
        },
        "external_description": {
          "type": "string",
          "description": "The invoice long external description"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total including tax"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice tax total"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this invoice include tax or not"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this invoice"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "invoice_taxes": {
          "type": "array",
          "description": "The tax breakdown for this invoice"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice record"
        }
      },
      "required": [
        "store_id",
        "member_id",
        "subject",
        "invoice_type",
        "invoiced_at",
        "due_at"
      ]
    }
  }
}

Void Invoice/Credit

This method will change the status of an invoice/credit from Issued to Void.

Void an Invoice
GET/invoices/{id}/void
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/void
Parameters
NameExampleDescription
id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 137,
    "venue_id": 1,
    "tax_class_id": 1,
    "subject": "Aggregate b2c paradigms",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "number": "0000000006",
    "invoice_type": 0,
    "invoice_type_name": "Invoice",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "due_at": "2015-07-17T11:15:00.000Z",
    "status": 10,
    "status_name": "Issued",
    "reference": "2266",
    "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
    "owned_by": 1,
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "tax_total": "3198.0",
    "prices_include_tax": false,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "invoice_taxes": [
      {
        "id": 1,
        "invoice_id": 15,
        "tax_rate_id": 1,
        "sort_order": 0,
        "name": "VAT Standard",
        "rate": "20.0",
        "charge": "15990.0",
        "amount": "3198.0",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    ],
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this invoice is related to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "venue_id": {
          "type": "number",
          "description": "The internal identifier of the Member Venue record this invoice is related to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "description": {
          "type": "string",
          "description": "The invoice long description"
        },
        "number": {
          "type": "string",
          "description": "(Readonly) The invoice number"
        },
        "invoice_type": {
          "type": "number",
          "description": "The invoice type (0 = Invoice, 1 = Credit Note)"
        },
        "invoice_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice type name"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time"
        },
        "due_at": {
          "type": "string",
          "description": "The invoice due date/time"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The invoice status (0 = Open, 10 = Issued, 20 = Paid, 30 = Posted, 40 = Voided)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The invoice status name"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this invoice"
        },
        "external_description": {
          "type": "string",
          "description": "The invoice long external description"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total including tax"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice tax total"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this invoice include tax or not"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this invoice"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "invoice_taxes": {
          "type": "array",
          "description": "The tax breakdown for this invoice"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice record"
        }
      },
      "required": [
        "store_id",
        "member_id",
        "subject",
        "invoice_type",
        "invoiced_at",
        "due_at"
      ]
    }
  }
}

Unvoid Invoice/Credit

This method will change the status of an invoice/credit from Void to Issued.

Unvoid an Invoice
GET/invoices/{id}/unvoid
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/unvoid
Parameters
NameExampleDescription
id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 137,
    "venue_id": 1,
    "tax_class_id": 1,
    "subject": "Aggregate b2c paradigms",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "number": "0000000006",
    "invoice_type": 0,
    "invoice_type_name": "Invoice",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "due_at": "2015-07-17T11:15:00.000Z",
    "status": 10,
    "status_name": "Issued",
    "reference": "2266",
    "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
    "owned_by": 1,
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "tax_total": "3198.0",
    "prices_include_tax": false,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "invoice_taxes": [
      {
        "id": 1,
        "invoice_id": 15,
        "tax_rate_id": 1,
        "sort_order": 0,
        "name": "VAT Standard",
        "rate": "20.0",
        "charge": "15990.0",
        "amount": "3198.0",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    ],
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this invoice is related to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "venue_id": {
          "type": "number",
          "description": "The internal identifier of the Member Venue record this invoice is related to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "description": {
          "type": "string",
          "description": "The invoice long description"
        },
        "number": {
          "type": "string",
          "description": "(Readonly) The invoice number"
        },
        "invoice_type": {
          "type": "number",
          "description": "The invoice type (0 = Invoice, 1 = Credit Note)"
        },
        "invoice_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice type name"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time"
        },
        "due_at": {
          "type": "string",
          "description": "The invoice due date/time"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The invoice status (0 = Open, 10 = Issued, 20 = Paid, 30 = Posted, 40 = Voided)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The invoice status name"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this invoice"
        },
        "external_description": {
          "type": "string",
          "description": "The invoice long external description"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total including tax"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice tax total"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this invoice include tax or not"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this invoice"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "invoice_taxes": {
          "type": "array",
          "description": "The tax breakdown for this invoice"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice record"
        }
      },
      "required": [
        "store_id",
        "member_id",
        "subject",
        "invoice_type",
        "invoiced_at",
        "due_at"
      ]
    }
  }
}

Credit Invoice

This method will create a credit for an invoice.

Credit an Invoice
POST/invoices/{id}/credit
Example URI
POST https://api.current-rms.com/api/v1/invoices/1/credit
Parameters
NameExampleDescription
id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 137,
    "venue_id": 1,
    "tax_class_id": 1,
    "subject": "Aggregate b2c paradigms",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "number": "0000000006",
    "invoice_type": 0,
    "invoice_type_name": "Invoice",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "due_at": "2015-07-17T11:15:00.000Z",
    "status": 10,
    "status_name": "Issued",
    "reference": "2266",
    "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
    "owned_by": 1,
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "tax_total": "3198.0",
    "prices_include_tax": false,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "invoice_taxes": [
      {
        "id": 1,
        "invoice_id": 15,
        "tax_rate_id": 1,
        "sort_order": 0,
        "name": "VAT Standard",
        "rate": "20.0",
        "charge": "15990.0",
        "amount": "3198.0",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    ],
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this invoice is related to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "venue_id": {
          "type": "number",
          "description": "The internal identifier of the Member Venue record this invoice is related to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "description": {
          "type": "string",
          "description": "The invoice long description"
        },
        "number": {
          "type": "string",
          "description": "(Readonly) The invoice number"
        },
        "invoice_type": {
          "type": "number",
          "description": "The invoice type (0 = Invoice, 1 = Credit Note)"
        },
        "invoice_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice type name"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time"
        },
        "due_at": {
          "type": "string",
          "description": "The invoice due date/time"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The invoice status (0 = Open, 10 = Issued, 20 = Paid, 30 = Posted, 40 = Voided)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The invoice status name"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this invoice"
        },
        "external_description": {
          "type": "string",
          "description": "The invoice long external description"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total including tax"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice tax total"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this invoice include tax or not"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this invoice"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "invoice_taxes": {
          "type": "array",
          "description": "The tax breakdown for this invoice"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice record"
        }
      },
      "required": [
        "store_id",
        "member_id",
        "subject",
        "invoice_type",
        "invoiced_at",
        "due_at"
      ]
    }
  }
}

Post Invoice/Credit

This method will post an invoice or credit to the configured accounting system integration

Post an Invoice/Credit
POST/invoices/{id}/post
Example URI
POST https://api.current-rms.com/api/v1/invoices/1/post
Parameters
NameExampleDescription
id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 137,
    "venue_id": 1,
    "tax_class_id": 1,
    "subject": "Aggregate b2c paradigms",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "number": "0000000006",
    "invoice_type": 0,
    "invoice_type_name": "Invoice",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "due_at": "2015-07-17T11:15:00.000Z",
    "status": 10,
    "status_name": "Issued",
    "reference": "2266",
    "external_description": "Copyright laws of us and that we have seen my cigar-smoke. Half an instant. Instructions to which promised to go the front of lines in the old. Eh man Or already begun to the trees near. With one of the living. Curious glassy surface of his. Leave that once again that chart.",
    "owned_by": 1,
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "tax_total": "3198.0",
    "prices_include_tax": false,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "invoice_taxes": [
      {
        "id": 1,
        "invoice_id": 15,
        "tax_rate_id": 1,
        "sort_order": 0,
        "name": "VAT Standard",
        "rate": "20.0",
        "charge": "15990.0",
        "amount": "3198.0",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    ],
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this invoice is related to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation record this invoice is related to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the organisations billing address record this invoice is related to"
        },
        "venue_id": {
          "type": "number",
          "description": "The internal identifier of the Member Venue record this invoice is related to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice is related to"
        },
        "subject": {
          "type": "string",
          "description": "The invoice subject"
        },
        "description": {
          "type": "string",
          "description": "The invoice long description"
        },
        "number": {
          "type": "string",
          "description": "(Readonly) The invoice number"
        },
        "invoice_type": {
          "type": "number",
          "description": "The invoice type (0 = Invoice, 1 = Credit Note)"
        },
        "invoice_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice type name"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time"
        },
        "due_at": {
          "type": "string",
          "description": "The invoice due date/time"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The invoice status (0 = Open, 10 = Issued, 20 = Paid, 30 = Posted, 40 = Voided)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The invoice status name"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this invoice"
        },
        "external_description": {
          "type": "string",
          "description": "The invoice long external description"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this invoice is owned by"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice charge total including tax"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice tax total"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this invoice include tax or not"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this invoice"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "invoice_taxes": {
          "type": "array",
          "description": "The tax breakdown for this invoice"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice record"
        }
      },
      "required": [
        "store_id",
        "member_id",
        "subject",
        "invoice_type",
        "invoiced_at",
        "due_at"
      ]
    }
  }
}

Invoice Items

An invoice item record contains information for an Invoice or Credit Note item

Invoice Item

Retrieve an Invoice Item
GET/invoices/{invoice_id}/invoice_items/{id}
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/invoice_items/1
Parameters
NameExampleDescription
invoice_id (number, required)1

The ID of the desired invoice

id (number, required)1

The ID of the desired invoice item

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice_item": {
    "invoice_id": 15,
    "source_id": null,
    "source_type": "",
    "invoiceable_id": 20,
    "invoiceable_type": "Item",
    "invoiceable_name": "Canon C300 (PL)",
    "invoice_item_type": 1,
    "invoice_item_type_name": "Principal",
    "name": "Canon C300 (PL)",
    "description": "",
    "transaction_type": 1,
    "transaction_type_name": "Rental",
    "accessory_inclusion_type": 0,
    "accessory_inclusion_type_name": "",
    "accessory_mode": 0,
    "accessory_mode_name": 0,
    "tax_class_id": 2,
    "revenue_group_id": null,
    "rate_definition_id": 5,
    "service_rate_type": 0,
    "charge_starts_at": "2015-07-03T11:15:00.000Z",
    "charge_ends_at": "2015-07-21T11:15:00.000Z",
    "use_chargeable_days": false,
    "chargeable_days": "0.0",
    "quantity": "2.0",
    "price": "810.0",
    "discount_percent": "10.0",
    "id": 1,
    "path": "0003",
    "charge_total": "4374.0",
    "tax_total": "874.8",
    "unit_base_charge": "2430.0",
    "taxable_charge_amount": "",
    "tax_amount": "874.8",
    "charge_excluding_tax_total": "4374.0",
    "charge_including_tax_total": "5248.8",
    "posting_revenue_group_id": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "custom_fields": {},
    "charging_period": [
      {
        "key": "week",
        "name": "Week",
        "lead": true,
        "percent": "100",
        "price": "810.0",
        "order": 1,
        "initial": true,
        "count": 3
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice_item": {
      "type": "object",
      "properties": {
        "invoice_id": {
          "type": "number",
          "description": "The internal identifier of the Invoice record this invoice item is related to"
        },
        "source_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the source record this invoice item is related to"
        },
        "source_type": {
          "type": "string",
          "description": "The type of source record (e.g. Opportunity)"
        },
        "invoiceable_id": {
          "type": "number",
          "description": "The internal identifier of the invoiceable record this invoice item is related to"
        },
        "invoiceable_type": {
          "type": "string",
          "description": "The type of invoiceable record"
        },
        "invoiceable_name": {
          "type": "string",
          "description": "(Readonly) The invoiceable record's name value"
        },
        "invoice_item_type": {
          "type": "number",
          "description": "The type of invoice item (0 = Group, 1 = Principal, 2 = Accessory)"
        },
        "invoice_item_type_name": {
          "type": "string",
          "description": "(Readonly) The invoice item type name"
        },
        "name": {
          "type": "string",
          "description": "The invoice item name"
        },
        "description": {
          "type": "string",
          "description": "The long description of the invoice item"
        },
        "transaction_type": {
          "type": "number",
          "description": "The invoice item transaction type (1 = Rental, 2 = Sale, 3 = Service)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "accessory_inclusion_type": {
          "type": "number",
          "description": "(Readonly) The accessory inclusion type (0 = Default, 1 = Mandatory, 2 = Optional, 99 = Manual)"
        },
        "accessory_inclusion_type_name": {
          "type": "string",
          "description": "(Readonly) The accessory inclusion type name"
        },
        "accessory_mode": {
          "type": "number",
          "description": "The accesory mode (0 = Accessory, 1 = Safety, 2 = Component)"
        },
        "accessory_mode_name": {
          "type": "number",
          "description": "The accesory mode name"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this invoice item is related to"
        },
        "revenue_group_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Revenue Group record this invoice item is related to (applicable only for text or grouped invoice items)"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record this invoice item used to calculate a rental charge (applicable only for Rental transaction types)"
        },
        "service_rate_type": {
          "type": "number",
          "description": "The service rate type used to calculate a service charge (applicable only for Service transaction types) - (1 = Day, 2 = Hour, 3 = Distance, 4 = Flat Rate)"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The start of the charging period for this invoice item"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The end of the charging period for this invoice item"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Flag to indicate if the chargeable_days value should be used to determine length of rental period rather than the start and end date/times"
        },
        "chargeable_days": {
          "type": "string",
          "description": "The number of chargeable days (see use_chargeable_days above)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of this invoice item"
        },
        "price": {
          "type": "string",
          "description": "The unit (non-discounted) price for this invoice item (rental rate, service rate or selling price)"
        },
        "discount_percent": {
          "type": "string",
          "description": "The discount percentage for this invoice item"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice Item record"
        },
        "path": {
          "type": "string",
          "description": "(Readonly) The path (hierarchy) of this invoice item"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The discounted charge total for this invoice item (this total may include or exclude tax - see prices_include_tax flag on Invoice record)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The tax total for this invoice item"
        },
        "unit_base_charge": {
          "type": "string",
          "description": "(Readonly) The non-discounted line total for this invoice item"
        },
        "taxable_charge_amount": {
          "type": "string",
          "description": "(Readonly) The amount of charge that is subject to tax"
        },
        "tax_amount": {
          "type": "string",
          "description": "(Readonly) The amount of tax"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice item charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The invoice item charge total including tax"
        },
        "posting_revenue_group_id": {
          "type": "number",
          "description": "(Readonly) The revenue group used when posting invoice information to an accounts solution"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice Item was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice Item"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "charging_period": {
          "type": "array",
          "description": "A collection of charge periods showing how the rental or service charge total was calculated"
        }
      }
    }
  }
}

Invoice Items

List Invoice Items
GET/invoices/{invoice_id}/invoice_items
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/invoice_items
Parameters
NameExampleDescription
invoice_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice_items": [
    {
      "invoice_id": 15,
      "source_id": null,
      "source_type": "",
      "invoiceable_id": 20,
      "invoiceable_type": "Item",
      "invoiceable_name": "Canon C300 (PL)",
      "invoice_item_type": 1,
      "invoice_item_type_name": "Principal",
      "name": "Canon C300 (PL)",
      "description": "",
      "transaction_type": 1,
      "transaction_type_name": "Rental",
      "accessory_inclusion_type": 0,
      "accessory_inclusion_type_name": "",
      "accessory_mode": 0,
      "accessory_mode_name": 0,
      "tax_class_id": 2,
      "revenue_group_id": null,
      "rate_definition_id": 5,
      "service_rate_type": 0,
      "charge_starts_at": "2015-07-03T11:15:00.000Z",
      "charge_ends_at": "2015-07-21T11:15:00.000Z",
      "use_chargeable_days": false,
      "chargeable_days": "0.0",
      "quantity": "2.0",
      "price": "810.0",
      "discount_percent": "10.0",
      "id": 1,
      "path": "0003",
      "charge_total": "4374.0",
      "tax_total": "874.8",
      "unit_base_charge": "2430.0",
      "taxable_charge_amount": "",
      "tax_amount": "874.8",
      "charge_excluding_tax_total": "4374.0",
      "charge_including_tax_total": "5248.8",
      "posting_revenue_group_id": 1,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "custom_fields": {},
      "charging_period": [
        {
          "key": "week",
          "name": "Week",
          "lead": true,
          "percent": "100",
          "price": "810.0",
          "order": 1,
          "initial": true,
          "count": 3
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice_items": {
      "type": "array"
    }
  }
}

Invoice Documents

An Invoice Document record describes a document snapshot captured when a document layout was previewed. Invoice Document records are read-only.

Invoice Document

Retrieve an Invoice Document
GET/invoice_documents/{id}
Example URI
GET https://api.current-rms.com/api/v1/invoice_documents/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Invoice Document

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice_document": {
    "invoice_id": 1,
    "document_id": 1,
    "data": {
      "header": "<div><p>Header dummy html</p></div>",
      "body": "<div><p>Body dummy html</p></div>",
      "footer": "<div><p>Footer dummy html</p></div>",
      "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
    },
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice_document": {
      "type": "object",
      "properties": {
        "invoice_id": {
          "type": "number",
          "description": "The internal identifier of the Invoice record this Invoice Document relates to"
        },
        "document_id": {
          "type": "number",
          "description": "The internal identifier of the Document record this Invoice Document relates to"
        },
        "data": {
          "type": "object",
          "properties": {
            "header": {
              "type": "string",
              "description": "The HTML for the header section"
            },
            "body": {
              "type": "string",
              "description": "The HTML for the body section"
            },
            "footer": {
              "type": "string",
              "description": "The HTML for the footer section"
            },
            "stylesheet": {
              "type": "string",
              "description": "The CSS stylesheet for the document"
            }
          },
          "description": "The HTML and CSS of this Invoice Document"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Invoice Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Invoice Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Invoice Document record"
        }
      }
    }
  }
}

Invoice Document PDF

Retrieve an Invoice Document PDF
GET/invoice_documents/{id}.pdf
Example URI
GET https://api.current-rms.com/api/v1/invoice_documents/1.pdf
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Invoice Document

Response  200
HideShow
Headers
Content-Type: application/pdf

Invoice Documents

List Invoice Documents
GET/invoice_documents{?page,per_page,invoice_id}
Example URI
GET https://api.current-rms.com/api/v1/invoice_documents?page=1&per_page=20&invoice_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

invoice_id (number, optional)1

The internal identifier of an Invoice record

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "invoice_documents": [
    {
      "invoice_id": 1,
      "document_id": 1,
      "data": {
        "header": "<div><p>Header dummy html</p></div>",
        "body": "<div><p>Body dummy html</p></div>",
        "footer": "<div><p>Footer dummy html</p></div>",
        "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
      },
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z",
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "invoice_documents": {
      "type": "array"
    }
  }
}

Invoice Transactions

An invoice member transaction record contains information regarding a payment or refund for an Invoice or Credit Note

Member Transaction

Retrieve a Member Transaction
GET/invoices/{invoice_id}/member_transactions/{id}
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/member_transactions/1
Parameters
NameExampleDescription
invoice_id (number, required)1

The ID of the desired invoice

id (number, required)1

The ID of the desired member transaction

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "member_transaction": {
    "member_id": 32,
    "opportunity_id": 1,
    "invoice_id": 1,
    "transaction_type": 4,
    "transaction_at": "2015-06-29",
    "payment_method_id": 1000020,
    "reference": "Payment AA44331",
    "amount": "123.45",
    "id": 1,
    "transaction_type_name": "Payment",
    "payment_method_name": "Cash",
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "created_at": "2015-06-29T10:00:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member_transaction": {
      "type": "object",
      "properties": {
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation (supplier) record this member transaction is associated to"
        },
        "opportunity_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity record this member transaction relates to"
        },
        "invoice_id": {
          "type": "number",
          "description": "The internal identifier of the Invoice record this member transaction relates to"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type of this member transaction (4 = Payment, 5 = Refund)"
        },
        "transaction_at": {
          "type": "string",
          "description": "The date of this member transaction"
        },
        "payment_method_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the payment method"
        },
        "reference": {
          "type": "string",
          "description": "The reference of this member transaction"
        },
        "amount": {
          "type": "string",
          "description": "The transaction amount"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Member Transaction record"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "payment_method_name": {
          "type": "string",
          "description": "(Readonly) The payment method name"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the member transaction was created"
        }
      }
    }
  }
}

Member Transactions

List Member Transactions
GET/invoices/{invoice_id}/member_transactions
Example URI
GET https://api.current-rms.com/api/v1/invoices/1/member_transactions
Parameters
NameExampleDescription
invoice_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "member_transactions": [
    {
      "member_id": 32,
      "opportunity_id": 1,
      "invoice_id": 1,
      "transaction_type": 4,
      "transaction_at": "2015-06-29",
      "payment_method_id": 1000020,
      "reference": "Payment AA44331",
      "amount": "123.45",
      "id": 1,
      "transaction_type_name": "Payment",
      "payment_method_name": "Cash",
      "member": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "created_at": "2015-06-29T10:00:00.000Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member_transactions": {
      "type": "array"
    }
  }
}

List of Values

A List of Values (aka List Name) contains List Values that can be used with custom fields and other system created fields within Current RMS (for example Activity Types, Activity Statuses etc.)

To remove existing list values from a list name object, include the attribute _destroy with a value of 1 along with the list value id when performing an update operation, for example: -

{
  "list_name": {
    "id": 1,
    "list_values": [
      {
        "id": 1,
        "_destroy": 1
      }
    ]
  }
}

List Name

Retrieve a List Name
GET/list_names/{id}
Example URI
GET https://api.current-rms.com/api/v1/list_names/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired List Name

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "list_name": {
    "name": "Activity Status",
    "has_colour": false,
    "list_values": [
      {
        "list_name_id": 2,
        "name": "Scheduled",
        "default": true,
        "colour_index": 2,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "system": true
      }
    ],
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "id": 1,
    "system": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "list_name": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The descriptive name of the list"
        },
        "has_colour": {
          "type": "boolean",
          "description": "Does the list have colour values for its values?"
        },
        "list_values": {
          "type": "array"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the List was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the List"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the List Name record"
        },
        "system": {
          "type": "boolean",
          "description": "(Readonly) Is this list system created?"
        }
      }
    }
  }
}
Update a List Name
PUT/list_names/{id}
Example URI
PUT https://api.current-rms.com/api/v1/list_names/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired List Name

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "list_name": {
    "name": "Activity Status",
    "has_colour": false,
    "list_values": [
      {
        "list_name_id": 2,
        "name": "Scheduled",
        "default": true,
        "colour_index": 2,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "system": true
      }
    ],
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "list_name": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The descriptive name of the list"
        },
        "has_colour": {
          "type": "boolean",
          "description": "Does the list have colour values for its values?"
        },
        "list_values": {
          "type": "array"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the List was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the List"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "list_name": {
    "name": "Activity Status",
    "has_colour": false,
    "list_values": [
      {
        "list_name_id": 2,
        "name": "Scheduled",
        "default": true,
        "colour_index": 2,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "system": true
      }
    ],
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "id": 1,
    "system": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "list_name": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The descriptive name of the list"
        },
        "has_colour": {
          "type": "boolean",
          "description": "Does the list have colour values for its values?"
        },
        "list_values": {
          "type": "array"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the List was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the List"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the List Name record"
        },
        "system": {
          "type": "boolean",
          "description": "(Readonly) Is this list system created?"
        }
      }
    }
  }
}
Delete a List Name
DELETE/list_names/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/list_names/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired List Name

Response  204

List Names

List List Names
GET/list_names
Example URI
GET https://api.current-rms.com/api/v1/list_names
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "list_names": [
    {
      "name": "Activity Status",
      "has_colour": false,
      "list_values": [
        {
          "list_name_id": 2,
          "name": "Scheduled",
          "default": true,
          "colour_index": 2,
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "id": 1,
          "system": true
        }
      ],
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "id": 1,
      "system": true
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "list_names": {
      "type": "array"
    }
  }
}
Create a List Name
POST/list_names
Example URI
POST https://api.current-rms.com/api/v1/list_names
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "list_name": {
    "name": "Activity Status",
    "has_colour": false,
    "list_values": [
      {
        "list_name_id": 2,
        "name": "Scheduled",
        "default": true,
        "colour_index": 2,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "system": true
      }
    ],
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "list_name": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The descriptive name of the list"
        },
        "has_colour": {
          "type": "boolean",
          "description": "Does the list have colour values for its values?"
        },
        "list_values": {
          "type": "array"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the List was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the List"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "list_name": {
    "name": "Activity Status",
    "has_colour": false,
    "list_values": [
      {
        "list_name_id": 2,
        "name": "Scheduled",
        "default": true,
        "colour_index": 2,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "system": true
      }
    ],
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "id": 1,
    "system": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "list_name": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The descriptive name of the list"
        },
        "has_colour": {
          "type": "boolean",
          "description": "Does the list have colour values for its values?"
        },
        "list_values": {
          "type": "array"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the List was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the List"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the List Name record"
        },
        "system": {
          "type": "boolean",
          "description": "(Readonly) Is this list system created?"
        }
      }
    }
  }
}

List Name examples

Obtaining the ID's for a specific list name
GET/list_names
/api/v1/list_names?q[name_eq]=Lawful Basis Type
Example URI
GET https://api.current-rms.com/api/v1/list_names

Members

A member is a record representing an Organisation, Contact, User or Venue

To remove existing emails, phones, links or addresses from a member object, include the attribute _destroy with a value of 1 along with the associated record id when performing an update operation, for example: -

{
  "member": {
    "id": 1,
    "emails": [
      {
        "id": 1,
        "_destroy": 1
      }
    ]
  }
}

Member

Retrieve a Member
GET/members/{id}
Example URI
GET https://api.current-rms.com/api/v1/members/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Member

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Chris Bralton",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "active": true,
    "bookable": false,
    "location_type": 0,
    "locale": "en-GB",
    "membership_type": "Contact",
    "lawful_basis_type_id": 10001,
    "sale_tax_class_id": 1,
    "purchase_tax_class_id": 1,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {},
    "primary_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3001,
      "address_type_name": "Primary",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    },
    "emails": [
      {
        "address": "abigail.parker@ggmail.co.uk",
        "type_id": 4001,
        "email_type_name": "Work",
        "id": 1
      }
    ],
    "phones": [
      {
        "number": "+44 115 9793399",
        "type_id": 6001,
        "phone_type_name": "Work",
        "id": 1
      }
    ],
    "links": [
      {
        "address": "www.facebook.com/profile.php?id=566828251",
        "type_id": 5002,
        "link_type_name": "Facebook",
        "id": 1
      }
    ],
    "addresses": [
      {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z",
        "id": 1
      }
    ],
    "service_stock_levels": [
      {
        "item_id": 10,
        "store_id": 1,
        "member_id": 1,
        "asset_number": "Chris Bralton",
        "serial_number": "",
        "location": "",
        "stock_type": 3,
        "stock_category": 60,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 487,
        "item_name": "Sound Engineer",
        "store_name": "Nottingham",
        "stock_type_name": "Service",
        "stock_category_name": "Resource"
      }
    ],
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "id": 25,
    "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
    "membership_id": 25,
    "lawful_basis_type_name": "Unknown",
    "sale_tax_class_name": "Default",
    "purchase_tax_class_name": "Default",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Member"
    },
    "child_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member",
        "id": 1,
        "relatable_name": "Bralton Industries",
        "relatable_membership_type": "Organisation",
        "related_name": "Chris Bralton",
        "related_membership_type": "Contact"
      }
    ],
    "parent_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member",
        "id": 1,
        "relatable_name": "Bralton Industries",
        "relatable_membership_type": "Organisation",
        "related_name": "Chris Bralton",
        "related_membership_type": "Contact"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The member's name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the member"
        },
        "active": {
          "type": "boolean",
          "description": "Is the member record active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is the member bookable via the Resource Planner?"
        },
        "location_type": {
          "type": "number",
          "description": "Resource location (0 = Internal, 1 = External)"
        },
        "locale": {
          "type": "string",
          "description": "The member's language locale"
        },
        "membership_type": {
          "type": "string",
          "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
        },
        "lawful_basis_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the lawful basis type"
        },
        "sale_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for sales to an Organisation"
        },
        "purchase_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Member record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {},
          "description": "A membership object"
        },
        "primary_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "The Primary Address object for this member"
        },
        "emails": {
          "type": "array",
          "description": "An array of Email objects for this member"
        },
        "phones": {
          "type": "array",
          "description": "An array of Phone objects for this member"
        },
        "links": {
          "type": "array",
          "description": "An array of Link objects for this member"
        },
        "addresses": {
          "type": "array",
          "description": "An array of Address objects for this member (does not include Primary Address)"
        },
        "service_stock_levels": {
          "type": "array",
          "description": "An array of Stock Level objects for this member's assigned services"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of a bookable resource"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of a bookable resource"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of a bookable resource"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of a bookable resource"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the member record"
        },
        "uuid": {
          "type": "string",
          "description": "(Readonly) The universally unique identifier of the member record"
        },
        "membership_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record's Membership record"
        },
        "lawful_basis_type_name": {
          "type": "string",
          "description": "(Readonly) The lawful basis type name"
        },
        "sale_tax_class_name": {
          "type": "string",
          "description": "(Readonly) The tax class name for sales to an Organisation"
        },
        "purchase_tax_class_name": {
          "type": "string",
          "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Member was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Member was last updated"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this member"
        },
        "child_members": {
          "type": "array",
          "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
        },
        "parent_members": {
          "type": "array",
          "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
        }
      },
      "required": [
        "name",
        "membership_type"
      ]
    }
  }
}
Update a Member
PUT/members/{id}

When updating custom fields for a Member record, you will need to include the correct ‘membership_type’ for the record you are updating. For example: -

{
    "member": {
        "membership_type": "Organisation",
        "custom_fields": {
            "next_month_end": "2016-07-24T13:06:01.675Z",
            "fsa_registered": true
        }
    }
}
Example URI
PUT https://api.current-rms.com/api/v1/members/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Member

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Chris Bralton",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "active": true,
    "bookable": false,
    "location_type": 0,
    "locale": "en-GB",
    "membership_type": "Contact",
    "lawful_basis_type_id": 10001,
    "sale_tax_class_id": 1,
    "purchase_tax_class_id": 1,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {},
    "primary_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3001,
      "address_type_name": "Primary",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    },
    "emails": [
      {
        "address": "abigail.parker@ggmail.co.uk",
        "type_id": 4001,
        "email_type_name": "Work",
        "id": 1
      }
    ],
    "phones": [
      {
        "number": "+44 115 9793399",
        "type_id": 6001,
        "phone_type_name": "Work",
        "id": 1
      }
    ],
    "links": [
      {
        "address": "www.facebook.com/profile.php?id=566828251",
        "type_id": 5002,
        "link_type_name": "Facebook",
        "id": 1
      }
    ],
    "addresses": [
      {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z",
        "id": 1
      }
    ],
    "service_stock_levels": [
      {
        "item_id": 10,
        "store_id": 1,
        "member_id": 1,
        "asset_number": "Chris Bralton",
        "serial_number": "",
        "location": "",
        "stock_type": 3,
        "stock_category": 60,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 487,
        "item_name": "Sound Engineer",
        "store_name": "Nottingham",
        "stock_type_name": "Service",
        "stock_category_name": "Resource"
      }
    ],
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "icon": {
      "image": ""
    },
    "child_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member"
      }
    ],
    "parent_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The member's name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the member"
        },
        "active": {
          "type": "boolean",
          "description": "Is the member record active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is the member bookable via the Resource Planner?"
        },
        "location_type": {
          "type": "number",
          "description": "Resource location (0 = Internal, 1 = External)"
        },
        "locale": {
          "type": "string",
          "description": "The member's language locale"
        },
        "membership_type": {
          "type": "string",
          "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
        },
        "lawful_basis_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the lawful basis type"
        },
        "sale_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for sales to an Organisation"
        },
        "purchase_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Member record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {},
          "description": "A membership object"
        },
        "primary_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "The Primary Address object for this member"
        },
        "emails": {
          "type": "array",
          "description": "An array of Email objects for this member"
        },
        "phones": {
          "type": "array",
          "description": "An array of Phone objects for this member"
        },
        "links": {
          "type": "array",
          "description": "An array of Link objects for this member"
        },
        "addresses": {
          "type": "array",
          "description": "An array of Address objects for this member (does not include Primary Address)"
        },
        "service_stock_levels": {
          "type": "array",
          "description": "An array of Stock Level objects for this member's assigned services"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of a bookable resource"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of a bookable resource"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of a bookable resource"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of a bookable resource"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this member"
        },
        "child_members": {
          "type": "array",
          "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
        },
        "parent_members": {
          "type": "array",
          "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
        }
      },
      "required": [
        "name",
        "membership_type"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Chris Bralton",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "active": true,
    "bookable": false,
    "location_type": 0,
    "locale": "en-GB",
    "membership_type": "Contact",
    "lawful_basis_type_id": 10001,
    "sale_tax_class_id": 1,
    "purchase_tax_class_id": 1,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {},
    "primary_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3001,
      "address_type_name": "Primary",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    },
    "emails": [
      {
        "address": "abigail.parker@ggmail.co.uk",
        "type_id": 4001,
        "email_type_name": "Work",
        "id": 1
      }
    ],
    "phones": [
      {
        "number": "+44 115 9793399",
        "type_id": 6001,
        "phone_type_name": "Work",
        "id": 1
      }
    ],
    "links": [
      {
        "address": "www.facebook.com/profile.php?id=566828251",
        "type_id": 5002,
        "link_type_name": "Facebook",
        "id": 1
      }
    ],
    "addresses": [
      {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z",
        "id": 1
      }
    ],
    "service_stock_levels": [
      {
        "item_id": 10,
        "store_id": 1,
        "member_id": 1,
        "asset_number": "Chris Bralton",
        "serial_number": "",
        "location": "",
        "stock_type": 3,
        "stock_category": 60,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 487,
        "item_name": "Sound Engineer",
        "store_name": "Nottingham",
        "stock_type_name": "Service",
        "stock_category_name": "Resource"
      }
    ],
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "id": 25,
    "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
    "membership_id": 25,
    "lawful_basis_type_name": "Unknown",
    "sale_tax_class_name": "Default",
    "purchase_tax_class_name": "Default",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Member"
    },
    "child_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member",
        "id": 1,
        "relatable_name": "Bralton Industries",
        "relatable_membership_type": "Organisation",
        "related_name": "Chris Bralton",
        "related_membership_type": "Contact"
      }
    ],
    "parent_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member",
        "id": 1,
        "relatable_name": "Bralton Industries",
        "relatable_membership_type": "Organisation",
        "related_name": "Chris Bralton",
        "related_membership_type": "Contact"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The member's name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the member"
        },
        "active": {
          "type": "boolean",
          "description": "Is the member record active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is the member bookable via the Resource Planner?"
        },
        "location_type": {
          "type": "number",
          "description": "Resource location (0 = Internal, 1 = External)"
        },
        "locale": {
          "type": "string",
          "description": "The member's language locale"
        },
        "membership_type": {
          "type": "string",
          "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
        },
        "lawful_basis_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the lawful basis type"
        },
        "sale_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for sales to an Organisation"
        },
        "purchase_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Member record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {},
          "description": "A membership object"
        },
        "primary_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "The Primary Address object for this member"
        },
        "emails": {
          "type": "array",
          "description": "An array of Email objects for this member"
        },
        "phones": {
          "type": "array",
          "description": "An array of Phone objects for this member"
        },
        "links": {
          "type": "array",
          "description": "An array of Link objects for this member"
        },
        "addresses": {
          "type": "array",
          "description": "An array of Address objects for this member (does not include Primary Address)"
        },
        "service_stock_levels": {
          "type": "array",
          "description": "An array of Stock Level objects for this member's assigned services"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of a bookable resource"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of a bookable resource"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of a bookable resource"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of a bookable resource"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the member record"
        },
        "uuid": {
          "type": "string",
          "description": "(Readonly) The universally unique identifier of the member record"
        },
        "membership_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record's Membership record"
        },
        "lawful_basis_type_name": {
          "type": "string",
          "description": "(Readonly) The lawful basis type name"
        },
        "sale_tax_class_name": {
          "type": "string",
          "description": "(Readonly) The tax class name for sales to an Organisation"
        },
        "purchase_tax_class_name": {
          "type": "string",
          "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Member was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Member was last updated"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this member"
        },
        "child_members": {
          "type": "array",
          "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
        },
        "parent_members": {
          "type": "array",
          "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
        }
      },
      "required": [
        "name",
        "membership_type"
      ]
    }
  }
}
Delete a Member
DELETE/members/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/members/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Member

Response  204

Members

List Members
GET/members{?page,per_page,filtermode,view_id}
Example URI
GET https://api.current-rms.com/api/v1/members?page=1&per_page=20&filtermode=all&view_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

filtermode (string, optional)all

A built in filtermode name (e.g. active, inactive, all, organisation, contact, venue, user, with_pending_activities, with_live_opportunities, bookable)

view_id (number, optional)1

The record id of a custom view

q[name_or_primary_address_street_or_work_phone_number_or_work_email_address_or_identity_email_or_tags_name_cont] (string, optional, `search_text_here`) (string, required)

Search on name, street, work phone, work email, user email or tags for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "members": [
    {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {},
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "members": {
      "type": "array"
    }
  }
}
Create a Member
POST/members
Example URI
POST https://api.current-rms.com/api/v1/members
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Chris Bralton",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "active": true,
    "bookable": false,
    "location_type": 0,
    "locale": "en-GB",
    "membership_type": "Contact",
    "lawful_basis_type_id": 10001,
    "sale_tax_class_id": 1,
    "purchase_tax_class_id": 1,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {},
    "primary_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3001,
      "address_type_name": "Primary",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    },
    "emails": [
      {
        "address": "abigail.parker@ggmail.co.uk",
        "type_id": 4001,
        "email_type_name": "Work",
        "id": 1
      }
    ],
    "phones": [
      {
        "number": "+44 115 9793399",
        "type_id": 6001,
        "phone_type_name": "Work",
        "id": 1
      }
    ],
    "links": [
      {
        "address": "www.facebook.com/profile.php?id=566828251",
        "type_id": 5002,
        "link_type_name": "Facebook",
        "id": 1
      }
    ],
    "addresses": [
      {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z",
        "id": 1
      }
    ],
    "service_stock_levels": [
      {
        "item_id": 10,
        "store_id": 1,
        "member_id": 1,
        "asset_number": "Chris Bralton",
        "serial_number": "",
        "location": "",
        "stock_type": 3,
        "stock_category": 60,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 487,
        "item_name": "Sound Engineer",
        "store_name": "Nottingham",
        "stock_type_name": "Service",
        "stock_category_name": "Resource"
      }
    ],
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "icon": {
      "image": ""
    },
    "child_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member"
      }
    ],
    "parent_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The member's name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the member"
        },
        "active": {
          "type": "boolean",
          "description": "Is the member record active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is the member bookable via the Resource Planner?"
        },
        "location_type": {
          "type": "number",
          "description": "Resource location (0 = Internal, 1 = External)"
        },
        "locale": {
          "type": "string",
          "description": "The member's language locale"
        },
        "membership_type": {
          "type": "string",
          "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
        },
        "lawful_basis_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the lawful basis type"
        },
        "sale_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for sales to an Organisation"
        },
        "purchase_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Member record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {},
          "description": "A membership object"
        },
        "primary_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "The Primary Address object for this member"
        },
        "emails": {
          "type": "array",
          "description": "An array of Email objects for this member"
        },
        "phones": {
          "type": "array",
          "description": "An array of Phone objects for this member"
        },
        "links": {
          "type": "array",
          "description": "An array of Link objects for this member"
        },
        "addresses": {
          "type": "array",
          "description": "An array of Address objects for this member (does not include Primary Address)"
        },
        "service_stock_levels": {
          "type": "array",
          "description": "An array of Stock Level objects for this member's assigned services"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of a bookable resource"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of a bookable resource"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of a bookable resource"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of a bookable resource"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this member"
        },
        "child_members": {
          "type": "array",
          "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
        },
        "parent_members": {
          "type": "array",
          "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
        }
      },
      "required": [
        "name",
        "membership_type"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Chris Bralton",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "active": true,
    "bookable": false,
    "location_type": 0,
    "locale": "en-GB",
    "membership_type": "Contact",
    "lawful_basis_type_id": 10001,
    "sale_tax_class_id": 1,
    "purchase_tax_class_id": 1,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {},
    "primary_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3001,
      "address_type_name": "Primary",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    },
    "emails": [
      {
        "address": "abigail.parker@ggmail.co.uk",
        "type_id": 4001,
        "email_type_name": "Work",
        "id": 1
      }
    ],
    "phones": [
      {
        "number": "+44 115 9793399",
        "type_id": 6001,
        "phone_type_name": "Work",
        "id": 1
      }
    ],
    "links": [
      {
        "address": "www.facebook.com/profile.php?id=566828251",
        "type_id": 5002,
        "link_type_name": "Facebook",
        "id": 1
      }
    ],
    "addresses": [
      {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z",
        "id": 1
      }
    ],
    "service_stock_levels": [
      {
        "item_id": 10,
        "store_id": 1,
        "member_id": 1,
        "asset_number": "Chris Bralton",
        "serial_number": "",
        "location": "",
        "stock_type": 3,
        "stock_category": 60,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 487,
        "item_name": "Sound Engineer",
        "store_name": "Nottingham",
        "stock_type_name": "Service",
        "stock_category_name": "Resource"
      }
    ],
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "id": 25,
    "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
    "membership_id": 25,
    "lawful_basis_type_name": "Unknown",
    "sale_tax_class_name": "Default",
    "purchase_tax_class_name": "Default",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Member"
    },
    "child_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member",
        "id": 1,
        "relatable_name": "Bralton Industries",
        "relatable_membership_type": "Organisation",
        "related_name": "Chris Bralton",
        "related_membership_type": "Contact"
      }
    ],
    "parent_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member",
        "id": 1,
        "relatable_name": "Bralton Industries",
        "relatable_membership_type": "Organisation",
        "related_name": "Chris Bralton",
        "related_membership_type": "Contact"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The member's name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the member"
        },
        "active": {
          "type": "boolean",
          "description": "Is the member record active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is the member bookable via the Resource Planner?"
        },
        "location_type": {
          "type": "number",
          "description": "Resource location (0 = Internal, 1 = External)"
        },
        "locale": {
          "type": "string",
          "description": "The member's language locale"
        },
        "membership_type": {
          "type": "string",
          "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
        },
        "lawful_basis_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the lawful basis type"
        },
        "sale_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for sales to an Organisation"
        },
        "purchase_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Member record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {},
          "description": "A membership object"
        },
        "primary_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "The Primary Address object for this member"
        },
        "emails": {
          "type": "array",
          "description": "An array of Email objects for this member"
        },
        "phones": {
          "type": "array",
          "description": "An array of Phone objects for this member"
        },
        "links": {
          "type": "array",
          "description": "An array of Link objects for this member"
        },
        "addresses": {
          "type": "array",
          "description": "An array of Address objects for this member (does not include Primary Address)"
        },
        "service_stock_levels": {
          "type": "array",
          "description": "An array of Stock Level objects for this member's assigned services"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of a bookable resource"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of a bookable resource"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of a bookable resource"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of a bookable resource"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the member record"
        },
        "uuid": {
          "type": "string",
          "description": "(Readonly) The universally unique identifier of the member record"
        },
        "membership_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record's Membership record"
        },
        "lawful_basis_type_name": {
          "type": "string",
          "description": "(Readonly) The lawful basis type name"
        },
        "sale_tax_class_name": {
          "type": "string",
          "description": "(Readonly) The tax class name for sales to an Organisation"
        },
        "purchase_tax_class_name": {
          "type": "string",
          "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Member was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Member was last updated"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this member"
        },
        "child_members": {
          "type": "array",
          "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
        },
        "parent_members": {
          "type": "array",
          "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
        }
      },
      "required": [
        "name",
        "membership_type"
      ]
    }
  }
}

Member filtering examples

Organisations by number
GET/members
/api/v1/members?q[membership_type]=Organisation&q[membership_of_Organisation_type_number_eq]=123
Example URI
GET https://api.current-rms.com/api/v1/members
Members by work email
GET/members
/api/v1/members?q[work_email_address_eq]=abc@test.com
Example URI
GET https://api.current-rms.com/api/v1/members
Contacts by department
GET/members
/api/v1/members?q[membership_type]=Contact&q[membership_of_Contact_type_department_cont]=sales
Example URI
GET https://api.current-rms.com/api/v1/members

Member creation examples

Creating a Contact record with a linked Organisation parent member
POST/members
Example URI
POST https://api.current-rms.com/api/v1/members
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "API Example",
    "membership_type": "Contact",
    "membership": {
      "title": "",
      "department": ""
    },
    "emails": [
      {
        "address": "xyz@xyz.com",
        "type_id": 4001
      }
    ],
    "parent_members": [
      {
        "relatable_id": 213,
        "relatable_type": "Member"
      }
    ]
  }
}

Clone member record

This method will create and return a cloned record of the requested member ID. You can clone Contact, Organization and Venue member types. User member types cannot be cloned.

Clone a Member record
GET/members/{id}/copy
Example URI
GET https://api.current-rms.com/api/v1/members/1/copy
Parameters
NameExampleDescription
id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Chris Bralton",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "active": true,
    "bookable": false,
    "location_type": 0,
    "locale": "en-GB",
    "membership_type": "Contact",
    "lawful_basis_type_id": 10001,
    "sale_tax_class_id": 1,
    "purchase_tax_class_id": 1,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {},
    "primary_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3001,
      "address_type_name": "Primary",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    },
    "emails": [
      {
        "address": "abigail.parker@ggmail.co.uk",
        "type_id": 4001,
        "email_type_name": "Work",
        "id": 1
      }
    ],
    "phones": [
      {
        "number": "+44 115 9793399",
        "type_id": 6001,
        "phone_type_name": "Work",
        "id": 1
      }
    ],
    "links": [
      {
        "address": "www.facebook.com/profile.php?id=566828251",
        "type_id": 5002,
        "link_type_name": "Facebook",
        "id": 1
      }
    ],
    "addresses": [
      {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z",
        "id": 1
      }
    ],
    "service_stock_levels": [
      {
        "item_id": 10,
        "store_id": 1,
        "member_id": 1,
        "asset_number": "Chris Bralton",
        "serial_number": "",
        "location": "",
        "stock_type": 3,
        "stock_category": 60,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 487,
        "item_name": "Sound Engineer",
        "store_name": "Nottingham",
        "stock_type_name": "Service",
        "stock_category_name": "Resource"
      }
    ],
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "id": 25,
    "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
    "membership_id": 25,
    "lawful_basis_type_name": "Unknown",
    "sale_tax_class_name": "Default",
    "purchase_tax_class_name": "Default",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Member"
    },
    "child_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member",
        "id": 1,
        "relatable_name": "Bralton Industries",
        "relatable_membership_type": "Organisation",
        "related_name": "Chris Bralton",
        "related_membership_type": "Contact"
      }
    ],
    "parent_members": [
      {
        "relatable_id": 317,
        "relatable_type": "Member",
        "related_id": 25,
        "related_type": "Member",
        "id": 1,
        "relatable_name": "Bralton Industries",
        "relatable_membership_type": "Organisation",
        "related_name": "Chris Bralton",
        "related_membership_type": "Contact"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The member's name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the member"
        },
        "active": {
          "type": "boolean",
          "description": "Is the member record active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is the member bookable via the Resource Planner?"
        },
        "location_type": {
          "type": "number",
          "description": "Resource location (0 = Internal, 1 = External)"
        },
        "locale": {
          "type": "string",
          "description": "The member's language locale"
        },
        "membership_type": {
          "type": "string",
          "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
        },
        "lawful_basis_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the lawful basis type"
        },
        "sale_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for sales to an Organisation"
        },
        "purchase_tax_class_id": {
          "type": "number",
          "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Member record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {},
          "description": "A membership object"
        },
        "primary_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "The Primary Address object for this member"
        },
        "emails": {
          "type": "array",
          "description": "An array of Email objects for this member"
        },
        "phones": {
          "type": "array",
          "description": "An array of Phone objects for this member"
        },
        "links": {
          "type": "array",
          "description": "An array of Link objects for this member"
        },
        "addresses": {
          "type": "array",
          "description": "An array of Address objects for this member (does not include Primary Address)"
        },
        "service_stock_levels": {
          "type": "array",
          "description": "An array of Stock Level objects for this member's assigned services"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of a bookable resource"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of a bookable resource"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of a bookable resource"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of a bookable resource"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the member record"
        },
        "uuid": {
          "type": "string",
          "description": "(Readonly) The universally unique identifier of the member record"
        },
        "membership_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Member record's Membership record"
        },
        "lawful_basis_type_name": {
          "type": "string",
          "description": "(Readonly) The lawful basis type name"
        },
        "sale_tax_class_name": {
          "type": "string",
          "description": "(Readonly) The tax class name for sales to an Organisation"
        },
        "purchase_tax_class_name": {
          "type": "string",
          "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Member was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Member was last updated"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this member"
        },
        "child_members": {
          "type": "array",
          "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
        },
        "parent_members": {
          "type": "array",
          "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
        }
      },
      "required": [
        "name",
        "membership_type"
      ]
    }
  }
}

Prepare Member Document

This method will return a rendered document for the given Document layout ID.

Prepare a Member Document
GET/members/{id}/prepare_document{?document_id}
Example URI
GET https://api.current-rms.com/api/v1/members/1/prepare_document?document_id=1
Parameters
NameExampleDescription
id (number, required)1
document_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "filename": "",
  "document": {
    "name": "Quotation",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "module_type": "Opportunity",
    "system": true,
    "active": true,
    "layout": "<div><p class=\"large-para\">I am a document layout</p></div>",
    "header_layout": "",
    "footer_layout": "",
    "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>",
    "page_size": "Letter",
    "orientation": "Portrait",
    "states": [],
    "statuses": [],
    "types": [],
    "membership_types": [],
    "page_width": 210,
    "page_height": 297,
    "margin_top": 1,
    "margin_left": 1,
    "margin_right": 1,
    "margin_bottom": 1,
    "colors": [],
    "fields": [],
    "layout_flags": [],
    "grouped_fields": [],
    "grouped_layout_flags": [],
    "filename": "",
    "roles": [],
    "use_for_approval": true,
    "require_signature": true,
    "approval_custom_fields": [],
    "approval_accept_text": "",
    "approval_decline_text": "",
    "use_for_signing": false,
    "default_signing_message": "",
    "days_to_sign": 7,
    "reminder_frequency": 2,
    "library_document_ids": [],
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  },
  "output": {
    "header": "<div><p>Header dummy html</p></div>",
    "body": "<div><p>Body dummy html</p></div>",
    "footer": "<div><p>Footer dummy html</p></div>",
    "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "filename": {
      "type": "string"
    },
    "document": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The document layout name"
        },
        "description": {
          "type": "string",
          "description": "The document long description"
        },
        "module_type": {
          "type": "string",
          "description": "The module type of the document record (e.g. Opportunity, Invoice, Product, Member, Activity etc.)"
        },
        "system": {
          "type": "boolean",
          "description": "Is this document layout a system record?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this document layout active?"
        },
        "layout": {
          "type": "string",
          "description": "The body html layout"
        },
        "header_layout": {
          "type": "string",
          "description": "The header html layout (repeated at the top of each page)"
        },
        "footer_layout": {
          "type": "string",
          "description": "The footer html layout (repeated at the bottom of each page)"
        },
        "stylesheet": {
          "type": "string",
          "description": "The document css stylesheet"
        },
        "page_size": {
          "type": "string",
          "description": "The document layout page size (A4, Letter, Custom)"
        },
        "orientation": {
          "type": "string",
          "description": "The document layout page orientation (Portrait or Landscape)"
        },
        "states": {
          "type": "array",
          "description": "An array of record states this document layout can be used for - see Opportunity State for possible integer values"
        },
        "statuses": {
          "type": "array",
          "description": "An array of record statuses this document layout can be used for - see Opportunity, Invoice & Project Statuses for possible integer values"
        },
        "types": {
          "type": "array",
          "description": "An array of record types this document layout can be used for - see Invoice and Quarantine Type for possible integer values"
        },
        "membership_types": {
          "type": "array",
          "description": "An array of membership types this document layout can be used for - see Member Membership Type for possible string values"
        },
        "page_width": {
          "type": "number",
          "description": "The page width in millimeters (only applicable when page_size is Custom)"
        },
        "page_height": {
          "type": "number",
          "description": "The page height in millimeters (only applicable when page_size is Custom)"
        },
        "margin_top": {
          "type": "number",
          "description": "The top margin in millimeters (the area available to the header_layout)"
        },
        "margin_left": {
          "type": "number",
          "description": "The left margin in millimeters"
        },
        "margin_right": {
          "type": "number",
          "description": "The right margin in millimeters"
        },
        "margin_bottom": {
          "type": "number",
          "description": "The bottom margin in millimeters (the area available to the footer_layout)"
        },
        "colors": {
          "type": "array",
          "description": "An array of key/value pairs for color codes used within this document layout"
        },
        "fields": {
          "type": "array",
          "description": "An array of key/value pairs for additional text messages used within this document layout"
        },
        "layout_flags": {
          "type": "array",
          "description": "An array of key/value pairs for logic flags used within this document layout"
        },
        "grouped_fields": {
          "type": "array",
          "description": "An array of hashes of key/value pairs for grouped text messages used within this document layout"
        },
        "grouped_layout_flags": {
          "type": "array",
          "description": "An array of hashes of key/value pairs for grouped logic flags used within this document layout"
        },
        "filename": {
          "type": "string",
          "description": "The original filename of the document layout (only applicable to system document layouts)"
        },
        "roles": {
          "type": "array",
          "description": "An array of Role records IDs that have access to this document layout"
        },
        "use_for_approval": {
          "type": "boolean",
          "description": "Is document approval enabled for this document layout?"
        },
        "require_signature": {
          "type": "boolean",
          "description": "Can a signature be captured during approval for this document layout?"
        },
        "approval_custom_fields": {
          "type": "array",
          "description": "An array of Custom Field records IDs that should shown during document approval"
        },
        "approval_accept_text": {
          "type": "string",
          "description": "The message shown during document approval accept"
        },
        "approval_decline_text": {
          "type": "string",
          "description": "The message shown during document approval decline"
        },
        "use_for_signing": {
          "type": "boolean",
          "description": "Use this document layout with Adobe Sign?"
        },
        "default_signing_message": {
          "type": "string",
          "description": "The default discussion message to be used when sending this document for signing (Adobe Sign)"
        },
        "days_to_sign": {
          "type": "number",
          "description": "The number of days before the document must be signed (Adobe Sign)"
        },
        "reminder_frequency": {
          "type": "number",
          "description": "The reminder frequency (0=None, 1=Daily, 2=Weekly) (Adobe Sign)"
        },
        "library_document_ids": {
          "type": "array",
          "description": "An array Adobe Sign document Library IDs to include with this document when sending for signing (Adobe Sign)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Document record"
        }
      }
    },
    "output": {
      "type": "object",
      "properties": {
        "header": {
          "type": "string",
          "description": "The HTML for the header section"
        },
        "body": {
          "type": "string",
          "description": "The HTML for the body section"
        },
        "footer": {
          "type": "string",
          "description": "The HTML for the footer section"
        },
        "stylesheet": {
          "type": "string",
          "description": "The CSS stylesheet for the document"
        }
      }
    }
  }
}

Prepare Member Document as PDF

This method will return a rendered PDF for the given Document layout ID.

Prepare a Member Document PDF
GET/members/{id}/prepare_document.pdf{?document_id}
Example URI
GET https://api.current-rms.com/api/v1/members/1/prepare_document.pdf?document_id=1
Parameters
NameExampleDescription
id (number, required)1
document_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/pdf

Opportunities

An Opportunity represents an Enquiry, Draft, Quotation or Order

To remove existing participants from an opportunity object, include the attribute _destroy with a value of 1 along with the participant record id when performing an update operation, for example: -

{
  "opportunity": {
    "id": 1,
    "participants": [
      {
        "id": 1,
        "_destroy": 1
      }
    ]
  }
}

Opportunity

Retrieve an Opportunity
GET/opportunities/{id}
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

include[] (string, optional)opportunity_items

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; owner, member, billing_address, destination, collection, venue, opportunity_surcharges, participants, opportunity_items, item_assets and return_item_assets.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}
Update an Opportunity
PUT/opportunities/{id}
Example URI
PUT https://api.current-rms.com/api/v1/opportunities/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

include[] (string, optional)opportunity_items

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; owner, member, billing_address, destination, collection, venue, opportunity_surcharges, participants, opportunity_items, item_assets and return_item_assets.

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}
Delete an Opportunity
DELETE/opportunities/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/opportunities/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

include[] (string, optional)opportunity_items

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; owner, member, billing_address, destination, collection, venue, opportunity_surcharges, participants, opportunity_items, item_assets and return_item_assets.

Response  204

Clone Opportunity

This method will return a new opportunity record of draft state that is a clone of the given opportunity ID.

Clone an Opportunity
GET/opportunities/{id}/clone
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/clone
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity to clone

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunities

List Opportunities
GET/opportunities{?page,per_page,filtermode,view_id}
Example URI
GET https://api.current-rms.com/api/v1/opportunities?page=1&per_page=20&filtermode=all&view_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page. The maximum is 25 as this endpoint can return a lot of data which affects resource usage and response time on the servers.

filtermode (string, optional)all

A built in filtermode name (e.g. live, inactive, all, with_active_status, needing_prep, prepared, needing_load, enquiries, drafts, quotations, orders, invoiced, not_invoiced)

view_id (number, optional)1

The record id of a custom view

q[subject_or_description_or_number_or_member_name_or_tags_name_cont] (string, optional, `search_text_here`) (string, required)

Search on subject, description, number, member organisation name or tags for matching records

include[] (string, optional)opportunity_items

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; owner, member, billing_address, destination, collection, venue, opportunity_surcharges, participants, opportunity_items, item_assets and return_item_assets.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunities": [
    {
      "store_id": 1,
      "project_id": null,
      "member_id": 1,
      "billing_address_id": 1,
      "venue_id": null,
      "tax_class_id": 1,
      "subject": "Drive web-enabled experiences",
      "description": "",
      "number": "",
      "starts_at": "2015-06-29T08:00:00.000Z",
      "ends_at": "2015-06-30T08:00:00.000Z",
      "charge_starts_at": "2015-06-29T08:00:00.000Z",
      "charge_ends_at": "2015-06-30T08:00:00.000Z",
      "ordered_at": "2015-06-27T08:00:00.000Z",
      "quote_invalid_at": "",
      "state": 1,
      "use_chargeable_days": false,
      "chargeable_days": 1,
      "open_ended_rental": false,
      "invoiced": false,
      "rating": 4,
      "revenue": "0",
      "customer_collecting": false,
      "customer_returning": false,
      "reference": "",
      "external_description": "",
      "delivery_instructions": "",
      "owned_by": 1,
      "prep_starts_at": "",
      "prep_ends_at": "",
      "load_starts_at": "",
      "load_ends_at": "",
      "deliver_starts_at": "",
      "deliver_ends_at": "",
      "setup_starts_at": "",
      "setup_ends_at": "",
      "show_starts_at": "",
      "show_ends_at": "",
      "takedown_starts_at": "",
      "takedown_ends_at": "",
      "collect_starts_at": "",
      "collect_ends_at": "",
      "unload_starts_at": "",
      "unload_ends_at": "",
      "deprep_starts_at": "",
      "deprep_ends_at": "",
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "assigned_surcharge_group_ids": [
        1
      ],
      "cancellation_reason_id": 0,
      "cancellation_description": "",
      "invoice_charge_total": "",
      "custom_fields": {},
      "participants": [
        {
          "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
          "assignment_id": 110,
          "member_id": 1,
          "mute": false,
          "id": 1,
          "member_name": "Steve Smith",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "assignment_type": "Activity"
        }
      ],
      "id": 1,
      "state_name": "Draft",
      "status": 0,
      "status_name": "Open",
      "charge_total": "15990.0",
      "charge_excluding_tax_total": "15990.0",
      "charge_including_tax_total": "19188.0",
      "rental_charge_total": "15990.0",
      "sale_charge_total": "15990.0",
      "surcharge_total": "15990.0",
      "service_charge_total": "15990.0",
      "tax_total": "3198.0",
      "original_rental_charge_total": "15990.0",
      "original_sale_charge_total": "15990.0",
      "original_surcharge_total": "15990.0",
      "original_service_charge_total": "15990.0",
      "original_tax_total": "3198.0",
      "replacement_charge_total": "1198.0",
      "provisional_cost_total": "1198.0",
      "actual_cost_total": "1298.0",
      "predicted_cost_total": "1298.0",
      "weight_total": "",
      "item_returned": false,
      "prices_include_tax": false,
      "pricing_locked": false,
      "latest_approval_document_status": 0,
      "has_deal_price": false,
      "has_opportunity_deal": false,
      "auto_costing_enabled": true,
      "source_opportunity_id": null,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "owner": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "title": "Manager",
          "owner": true,
          "admin": true
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "member": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "billing_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z"
      },
      "venue": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "opportunity_surcharges": [
        {
          "opportunity_id": 1,
          "surcharge_group_id": 1,
          "id": 1,
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "surcharge_group_name": "Insurance"
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunities": {
      "type": "array"
    }
  }
}
Create an Opportunity
POST/opportunities
Example URI
POST https://api.current-rms.com/api/v1/opportunities
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity filtering examples

Opportunities that have been updated since a given datetime
GET/opportunities
/api/v1/opportunities?q[updated_at_gt]=2017-12-05T12:00:00.000Z
Example URI
GET https://api.current-rms.com/api/v1/opportunities
Opportunities associated with a specific invoice
GET/opportunities
/api/v1/opportunities?filtermode=all&q[invoices_id_eq]=481
Example URI
GET https://api.current-rms.com/api/v1/opportunities
Opportunities that are not cancelled
GET/opportunities
/api/v1/opportunities?q[status_not_eq]=40
Example URI
GET https://api.current-rms.com/api/v1/opportunities
Opportunities that contain a specific asset
GET/opportunities
/api/v1/opportunities?q[opportunity_items_opportunity_item_assets_stock_level_asset_number_eq]=ABC-1234
Example URI
GET https://api.current-rms.com/api/v1/opportunities
Opportunity by number
GET/opportunities
/api/v1/opportunities?q[number_eq]=003664
Example URI
GET https://api.current-rms.com/api/v1/opportunities
Opportunities by state (order) and status (not cancelled)
GET/opportunities
/api/v1/opportunities?filtermode[]=orders&filtermode[]=not_cancelled
Example URI
GET https://api.current-rms.com/api/v1/opportunities
Opportunities (orders) for a given supplier ID
GET/opportunities
/api/v1/opportunities?q[state_eq]=3&q[status_lt]=40&q[opportunity_items_opportunity_item_assets_supplier_id_eq]=20
Example URI
GET https://api.current-rms.com/api/v1/opportunities

Prepare Opportunity Document

This method will return the latest Opportunity Document for the given Document layout ID, or prepare a new one if the opportunity has changed since the last document was prepared.

Prepare an Opportunity Document
GET/opportunities/{id}/prepare_document{?document_id}
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/prepare_document?document_id=1
Parameters
NameExampleDescription
id (number, required)1
document_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_document": {
    "opportunity_id": 1,
    "document_id": 1,
    "data": {
      "header": "<div><p>Header dummy html</p></div>",
      "body": "<div><p>Body dummy html</p></div>",
      "footer": "<div><p>Footer dummy html</p></div>",
      "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
    },
    "status": 1,
    "approved_declined_at": "2017-06-29T10:00:00.000Z",
    "view_count": 1,
    "last_view_at": "2017-06-29T10:00:00.000Z",
    "comment": "Hello, world!",
    "signed_by": "Fred Customer",
    "signature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg......",
    "remote_ip": "143.12.18.125",
    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36",
    "uuid": "590e1be0-4ffb-0225-b0bf-0f8ca217e64b",
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_document": {
      "type": "object",
      "properties": {
        "opportunity_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity record this Opportunity Document relates to"
        },
        "document_id": {
          "type": "number",
          "description": "The internal identifier of the Document record this Opportunity Document relates to"
        },
        "data": {
          "type": "object",
          "properties": {
            "header": {
              "type": "string",
              "description": "The HTML for the header section"
            },
            "body": {
              "type": "string",
              "description": "The HTML for the body section"
            },
            "footer": {
              "type": "string",
              "description": "The HTML for the footer section"
            },
            "stylesheet": {
              "type": "string",
              "description": "The CSS stylesheet for the document"
            }
          },
          "description": "The HTML and CSS of this Opportunity Document"
        },
        "status": {
          "type": "number",
          "description": "The approval status (0=Open,1=Accepted,2=Declined)"
        },
        "approved_declined_at": {
          "type": "string",
          "description": "The date & time when the Opportunity Document was accepted or declined"
        },
        "view_count": {
          "type": "number",
          "description": "The number of times this document has been viewed externally (does not count views by Current RMS users)"
        },
        "last_view_at": {
          "type": "string",
          "description": "The date & time when the document was last viewed externally"
        },
        "comment": {
          "type": "string",
          "description": "The comment left when the document was declined"
        },
        "signed_by": {
          "type": "string",
          "description": "The printed name of the person signing the document during document approval"
        },
        "signature": {
          "type": "string",
          "description": "A base 64 encoded PNG image of the signature provided during document approval"
        },
        "remote_ip": {
          "type": "string",
          "description": "The public IP address of the device used during document approval"
        },
        "user_agent": {
          "type": "string",
          "description": "The user agent string of the device used during document approval"
        },
        "uuid": {
          "type": "string",
          "description": "The unique identifier of this document (used within the document approval URL - e.g. https://yourdomain.current-rms.com/view_document/590e1be0-4ffb-0225-b0bf-0f8ca217e64b)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Opportunity Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Opportunity Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Opportunity Document record"
        }
      }
    }
  }
}

Opportunity Checkout

The Opportunity Checkout method will create a new draft opportunity based on the values provided. It is typically used to interface an existing webshop front end with Current’s opportunity back end.

Checkout Opportunity
POST/opportunities/checkout
Example URI
POST https://api.current-rms.com/api/v1/opportunities/checkout
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ]
  },
  "items": [
    {
      "opportunity_id": 1,
      "item_id": 151,
      "item_type": "Product",
      "opportunity_item_type": 1,
      "name": "Cineroid Compact LED Light",
      "transaction_type": 1,
      "accessory_inclusion_type": 0,
      "accessory_mode": 0,
      "quantity": 1,
      "revenue_group_id": null,
      "rate_definition_id": 5,
      "service_rate_type": 0,
      "price": "60.0",
      "discount_percent": "10.0",
      "starts_at": "2015-07-10T09:00:00.000Z",
      "ends_at": "2015-07-10T09:00:00.000Z",
      "use_chargeable_days": true,
      "chargeable_days": "1.0",
      "sub_rent": false,
      "description": "",
      "replacement_charge": "0.0",
      "weight": "0.0",
      "custom_fields": {}
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    },
    "items": {
      "type": "array"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Checkout Examples

The following examples show how to create the simplest possible Opportunity, as well as how to create a more complicated accessory structure.

Simple Checkout
POST/opportunities/checkout
Example URI
POST https://api.current-rms.com/api/v1/opportunities/checkout
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "member_id": 10,
    "owned_by": 1
  },
  "items": [
    {
      "item_id": 151,
      "transaction_type": 1,
      "quantity": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "member_id": {
          "type": "number",
          "description": "The identifier of the organisation for the opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The identifier of the owner user for the opportunity"
        }
      }
    },
    "items": {
      "type": "array"
    }
  }
}
Checkout with Accessories
POST/opportunities/checkout
Example URI
POST https://api.current-rms.com/api/v1/opportunities/checkout
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "member_id": 1,
    "owned_by": 1
  },
  "items": [
    {
      "item_id": 7,
      "transaction_type": 1,
      "quantity": 1,
      "accessory_items": {
        "0": {
          "item_id": 214,
          "transaction_type": 1,
          "accessory_quantity": 1,
          "accessory_inclusion_type": 2,
          "accessory_mode": 0,
          "quantity": 1
        },
        "1": {
          "item_id": 178,
          "transaction_type": 1,
          "accessory_quantity": 5,
          "accessory_inclusion_type": 0,
          "accessory_mode": 0,
          "quantity": 5
        }
      }
    }
  ]
}
Request
HideShow
Headers
Content-Type: application/json
Body
opportunity: {
    member_id: 5,
    subject: 'Checkout with destination address'
    destination: {
    address: {
      name: 'Current RMS',
      street: '16 The Triangle',
      city: 'Nottingham',
      county: 'Notts',
      postcode: 'NG2 1AE',
      country_id: 1
    }
  }
}

Opportunity Quick Allocate

The Opportunity Quick Allocate method will attempt to allocate product stock to an Opportunity Item. The desired stock is determined by either a stock level record ID or an asset or barcode number that matches the value provided in the stock_level_asset_number attribute. You must provide either a stock level ID or an asset or barcode number, if both are provided the stock level ID will take precedence.

Quick Allocate Opportunity
POST/opportunities/{id}/quick_allocate
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/quick_allocate
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level_id": 1,
  "stock_level_asset_number": "ABC12356",
  "quantity": 1,
  "container": "Case 1",
  "free_scan": 0,
  "mark_as_prepared": 0,
  "group_scan": 0,
  "group_type": "group_opportunity_item",
  "group_id": "234"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level_id": {
      "type": "number",
      "description": "The ID of the desired stock level to allocate"
    },
    "stock_level_asset_number": {
      "type": "string",
      "description": "The asset number or barcode number of the desired stock level to allocate"
    },
    "quantity": {
      "type": "number",
      "description": "The quantity to allocate (must always be 1 for serialised stock)"
    },
    "container": {
      "type": "string",
      "description": "The container reference for this allocation"
    },
    "free_scan": {
      "type": "number",
      "description": "When set to `1` free scan mode will be enabled for this allocation"
    },
    "mark_as_prepared": {
      "type": "number",
      "description": "When set to `1` this allocation will also be marked as prepared"
    },
    "group_scan": {
      "type": "number",
      "description": "When set to `1` group scan mode will be enabled"
    },
    "group_type": {
      "type": "string",
      "description": "Specifies the type of group to scan into when group scan mode is enabled (one of: `group_opportunity_item` - Attempt to allocate a stock level in the group opportunity item with ID specified by `group_id`. If the item is free scanned, it will be created in this opportunity group; `product_group` - Attempt to allocate a stock level in the product group with ID specified by `group_id`. If the item is free scanned, it must be in this product group; `status` - Attempt to allocate a stock level with status value specified by `group_id`. Free scanning is not available when scanning by status; `container` - Attempt to allocate a stock level with container attribute specified by `group_id`. If the item is free scanned, it will be be given this container attribute"
    },
    "group_id": {
      "type": "string",
      "description": "Specifies the id of the group to scan into when group scan mode is enabled"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_items": [
    {
      "opportunity_id": 1,
      "item_id": 151,
      "item_type": "Product",
      "opportunity_item_type": 1,
      "name": "Cineroid Compact LED Light",
      "transaction_type": 1,
      "accessory_inclusion_type": 0,
      "accessory_mode": 0,
      "quantity": 1,
      "revenue_group_id": null,
      "rate_definition_id": 5,
      "service_rate_type": 0,
      "price": "60.0",
      "discount_percent": "10.0",
      "starts_at": "2015-07-10T09:00:00.000Z",
      "ends_at": "2015-07-10T09:00:00.000Z",
      "use_chargeable_days": true,
      "chargeable_days": "1.0",
      "sub_rent": false,
      "description": "",
      "replacement_charge": "0.0",
      "weight": "0.0",
      "custom_fields": {},
      "id": 1,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "opportunity_item_type_name": "Principal",
      "transaction_type_name": "Rental",
      "accessory_inclusion_type_name": 0,
      "accessory_mode_name": 0,
      "status": 5,
      "status_name": "Reserved",
      "service_rate_type_name": "",
      "path": "0003",
      "rental_charge_total": "0.0",
      "sale_charge_total": "0.0",
      "service_charge_total": "0.0",
      "surcharge_total": "0.0",
      "tax_total": "180.0",
      "original_rental_charge_total": "0.0",
      "original_sale_charge_total": "0.0",
      "original_service_charge_total": "0.0",
      "original_surcharge_total": "0.0",
      "original_tax_total": "180.0",
      "replacement_charge_total": "0.0",
      "weight_total": "",
      "unit_base_charge": "100.0",
      "unit_charge": "90.0",
      "charge_amount": "900.0",
      "taxable_charge_amount": "900.0",
      "tax_amount": "180.0",
      "surcharge_amount": "0.0",
      "surcharge_tax_amount": "0.0",
      "charging_periods": [
        {
          "key": "week",
          "name": "Week",
          "lead": true,
          "percent": "100",
          "price": "810.0",
          "order": 1,
          "initial": true,
          "count": 3
        }
      ],
      "charge_total": "900.0",
      "charge_total_including_children": "900.0",
      "weight_total_including_children": "0.0",
      "replacement_charge_total_including_children": "0.0",
      "lead_charging_period": {
        "key": "week",
        "name": "Week",
        "lead": true,
        "percent": "100",
        "price": "810.0",
        "order": 1,
        "initial": true,
        "count": 3
      },
      "lead_charging_period_name": "Weekly",
      "has_shortage": false,
      "has_group_deal": false,
      "is_in_deal": false
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_items": {
      "type": "array"
    }
  }
}

Opportunity Quick Prepare

The Opportunity Quick Prepare method will attempt to mark the product stock as prepared against an Opportunity Item Asset. The desired stock is determined by either a stock level record ID or an asset or barcode number that matches the value provided in the stock_level_asset_number attribute. You must provide either a stock level ID or an asset or barcode number, if both are provided the stock level ID will take precedence.

Quick Prepare Opportunity
POST/opportunities/{id}/quick_prepare
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/quick_prepare
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level_id": 1,
  "stock_level_asset_number": "ABC12356",
  "container": "Case 1",
  "group_scan": 0,
  "group_type": "group_opportunity_item",
  "group_id": "234"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level_id": {
      "type": "number",
      "description": "The ID of the desired stock level to prepare"
    },
    "stock_level_asset_number": {
      "type": "string",
      "description": "The asset number or barcode number of the desired stock level to prepare"
    },
    "container": {
      "type": "string",
      "description": "The container reference for this allocation"
    },
    "group_scan": {
      "type": "number",
      "description": "When set to `1` group scan mode will be enabled"
    },
    "group_type": {
      "type": "string",
      "description": "Specifies the type of group to scan into when group scan mode is enabled (one of: `group_opportunity_item` - Attempt to prepare a stock level in the group opportunity item with ID specified by `group_id`; `product_group` - Attempt to prepare a stock level in the product group with ID specified by `group_id`; `status` - Attempt to prepare a stock level with status value specified by `group_id`; `container` - Attempt to prepare a stock level with container attribute  specified by `group_id`)"
    },
    "group_id": {
      "type": "string",
      "description": "Specifies the id of the group to scan into when group scan mode is enabled"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_items": [
    {
      "opportunity_id": 1,
      "item_id": 151,
      "item_type": "Product",
      "opportunity_item_type": 1,
      "name": "Cineroid Compact LED Light",
      "transaction_type": 1,
      "accessory_inclusion_type": 0,
      "accessory_mode": 0,
      "quantity": 1,
      "revenue_group_id": null,
      "rate_definition_id": 5,
      "service_rate_type": 0,
      "price": "60.0",
      "discount_percent": "10.0",
      "starts_at": "2015-07-10T09:00:00.000Z",
      "ends_at": "2015-07-10T09:00:00.000Z",
      "use_chargeable_days": true,
      "chargeable_days": "1.0",
      "sub_rent": false,
      "description": "",
      "replacement_charge": "0.0",
      "weight": "0.0",
      "custom_fields": {},
      "id": 1,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "opportunity_item_type_name": "Principal",
      "transaction_type_name": "Rental",
      "accessory_inclusion_type_name": 0,
      "accessory_mode_name": 0,
      "status": 5,
      "status_name": "Reserved",
      "service_rate_type_name": "",
      "path": "0003",
      "rental_charge_total": "0.0",
      "sale_charge_total": "0.0",
      "service_charge_total": "0.0",
      "surcharge_total": "0.0",
      "tax_total": "180.0",
      "original_rental_charge_total": "0.0",
      "original_sale_charge_total": "0.0",
      "original_service_charge_total": "0.0",
      "original_surcharge_total": "0.0",
      "original_tax_total": "180.0",
      "replacement_charge_total": "0.0",
      "weight_total": "",
      "unit_base_charge": "100.0",
      "unit_charge": "90.0",
      "charge_amount": "900.0",
      "taxable_charge_amount": "900.0",
      "tax_amount": "180.0",
      "surcharge_amount": "0.0",
      "surcharge_tax_amount": "0.0",
      "charging_periods": [
        {
          "key": "week",
          "name": "Week",
          "lead": true,
          "percent": "100",
          "price": "810.0",
          "order": 1,
          "initial": true,
          "count": 3
        }
      ],
      "charge_total": "900.0",
      "charge_total_including_children": "900.0",
      "weight_total_including_children": "0.0",
      "replacement_charge_total_including_children": "0.0",
      "lead_charging_period": {
        "key": "week",
        "name": "Week",
        "lead": true,
        "percent": "100",
        "price": "810.0",
        "order": 1,
        "initial": true,
        "count": 3
      },
      "lead_charging_period_name": "Weekly",
      "has_shortage": false,
      "has_group_deal": false,
      "is_in_deal": false
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_items": {
      "type": "array"
    }
  }
}

Opportunity Quick Book Out

The Opportunity Quick Book Out method will attempt to mark the product stock as booked out. The desired stock is determined by either a stock level record ID or an asset or barcode number that matches the value provided in the stock_level_asset_number attribute. You must provide either a stock level ID or an asset or barcode number, if both are provided the stock level ID will take precedence.

Quick Book Out Opportunity
POST/opportunities/{id}/quick_book_out
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/quick_book_out
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level_id": 1,
  "stock_level_asset_number": "ABC12356",
  "container": "Case 1",
  "group_scan": 0,
  "group_type": "group_opportunity_item",
  "group_id": "234"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level_id": {
      "type": "number",
      "description": "The ID of the desired stock level to book out"
    },
    "stock_level_asset_number": {
      "type": "string",
      "description": "The asset number or barcode number of the desired stock level to book out"
    },
    "container": {
      "type": "string",
      "description": "The container reference for this allocation"
    },
    "group_scan": {
      "type": "number",
      "description": "When set to `1` group scan mode will be enabled"
    },
    "group_type": {
      "type": "string",
      "description": "Specifies the type of group to scan into when group scan mode is enabled (one of: `group_opportunity_item` - Attempt to book out a stock level in the group opportunity item with ID specified by `group_id`; `product_group` - Attempt to book out a stock level in the product group with ID specified by `group_id`; `status` - Attempt to book out a stock level with status value specified by `group_id`; `container` - Attempt to book out a stock level with container attribute  specified by `group_id`)"
    },
    "group_id": {
      "type": "string",
      "description": "Specifies the id of the group to scan into when group scan mode is enabled"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_items": [
    {
      "opportunity_id": 1,
      "item_id": 151,
      "item_type": "Product",
      "opportunity_item_type": 1,
      "name": "Cineroid Compact LED Light",
      "transaction_type": 1,
      "accessory_inclusion_type": 0,
      "accessory_mode": 0,
      "quantity": 1,
      "revenue_group_id": null,
      "rate_definition_id": 5,
      "service_rate_type": 0,
      "price": "60.0",
      "discount_percent": "10.0",
      "starts_at": "2015-07-10T09:00:00.000Z",
      "ends_at": "2015-07-10T09:00:00.000Z",
      "use_chargeable_days": true,
      "chargeable_days": "1.0",
      "sub_rent": false,
      "description": "",
      "replacement_charge": "0.0",
      "weight": "0.0",
      "custom_fields": {},
      "id": 1,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "opportunity_item_type_name": "Principal",
      "transaction_type_name": "Rental",
      "accessory_inclusion_type_name": 0,
      "accessory_mode_name": 0,
      "status": 5,
      "status_name": "Reserved",
      "service_rate_type_name": "",
      "path": "0003",
      "rental_charge_total": "0.0",
      "sale_charge_total": "0.0",
      "service_charge_total": "0.0",
      "surcharge_total": "0.0",
      "tax_total": "180.0",
      "original_rental_charge_total": "0.0",
      "original_sale_charge_total": "0.0",
      "original_service_charge_total": "0.0",
      "original_surcharge_total": "0.0",
      "original_tax_total": "180.0",
      "replacement_charge_total": "0.0",
      "weight_total": "",
      "unit_base_charge": "100.0",
      "unit_charge": "90.0",
      "charge_amount": "900.0",
      "taxable_charge_amount": "900.0",
      "tax_amount": "180.0",
      "surcharge_amount": "0.0",
      "surcharge_tax_amount": "0.0",
      "charging_periods": [
        {
          "key": "week",
          "name": "Week",
          "lead": true,
          "percent": "100",
          "price": "810.0",
          "order": 1,
          "initial": true,
          "count": 3
        }
      ],
      "charge_total": "900.0",
      "charge_total_including_children": "900.0",
      "weight_total_including_children": "0.0",
      "replacement_charge_total_including_children": "0.0",
      "lead_charging_period": {
        "key": "week",
        "name": "Week",
        "lead": true,
        "percent": "100",
        "price": "810.0",
        "order": 1,
        "initial": true,
        "count": 3
      },
      "lead_charging_period_name": "Weekly",
      "has_shortage": false,
      "has_group_deal": false,
      "is_in_deal": false
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_items": {
      "type": "array"
    }
  }
}

Opportunity Quick Check In

The Opportunity Quick Check In method will attempt to check in product stock against an Opportunity Item. The desired stock is determined by either a stock level record ID or an asset or barcode number that matches the value provided in the stock_level_asset_number attribute. You must provide either a stock level ID or an asset or barcode number, if both are provided the stock level ID will take precedence.

Quick Check In Opportunity
POST/opportunities/{id}/quick_check_in
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/quick_check_in
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level_id": 1,
  "stock_level_asset_number": "ABC12356",
  "quantity": 1,
  "group_scan": 0,
  "group_type": "group_opportunity_item",
  "group_id": "234"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level_id": {
      "type": "number",
      "description": "The ID of the desired stock level to check in"
    },
    "stock_level_asset_number": {
      "type": "string",
      "description": "The asset number or barcode number of the desired stock level to check in"
    },
    "quantity": {
      "type": "number",
      "description": "The quantity to check in (must always be 1 for serialised stock)"
    },
    "group_scan": {
      "type": "number",
      "description": "When set to `1` group scan mode will be enabled"
    },
    "group_type": {
      "type": "string",
      "description": "Specifies the type of group to scan into when group scan mode is enabled (one of: `group_opportunity_item` - Attempt to check in a stock level in the group opportunity item with ID specified by `group_id`; `product_group` - Attempt to check in a stock level in the product group with ID specified by `group_id`; `status` - Attempt to check in a stock level with status value specified by `group_id`; `container` - Attempt to check in a stock level with container attribute  specified by `group_id`)"
    },
    "group_id": {
      "type": "string",
      "description": "Specifies the id of the group to scan into when group scan mode is enabled"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_items": [
    {
      "opportunity_id": 1,
      "item_id": 151,
      "item_type": "Product",
      "opportunity_item_type": 1,
      "name": "Cineroid Compact LED Light",
      "transaction_type": 1,
      "accessory_inclusion_type": 0,
      "accessory_mode": 0,
      "quantity": 1,
      "revenue_group_id": null,
      "rate_definition_id": 5,
      "service_rate_type": 0,
      "price": "60.0",
      "discount_percent": "10.0",
      "starts_at": "2015-07-10T09:00:00.000Z",
      "ends_at": "2015-07-10T09:00:00.000Z",
      "use_chargeable_days": true,
      "chargeable_days": "1.0",
      "sub_rent": false,
      "description": "",
      "replacement_charge": "0.0",
      "weight": "0.0",
      "custom_fields": {},
      "id": 1,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "opportunity_item_type_name": "Principal",
      "transaction_type_name": "Rental",
      "accessory_inclusion_type_name": 0,
      "accessory_mode_name": 0,
      "status": 5,
      "status_name": "Reserved",
      "service_rate_type_name": "",
      "path": "0003",
      "rental_charge_total": "0.0",
      "sale_charge_total": "0.0",
      "service_charge_total": "0.0",
      "surcharge_total": "0.0",
      "tax_total": "180.0",
      "original_rental_charge_total": "0.0",
      "original_sale_charge_total": "0.0",
      "original_service_charge_total": "0.0",
      "original_surcharge_total": "0.0",
      "original_tax_total": "180.0",
      "replacement_charge_total": "0.0",
      "weight_total": "",
      "unit_base_charge": "100.0",
      "unit_charge": "90.0",
      "charge_amount": "900.0",
      "taxable_charge_amount": "900.0",
      "tax_amount": "180.0",
      "surcharge_amount": "0.0",
      "surcharge_tax_amount": "0.0",
      "charging_periods": [
        {
          "key": "week",
          "name": "Week",
          "lead": true,
          "percent": "100",
          "price": "810.0",
          "order": 1,
          "initial": true,
          "count": 3
        }
      ],
      "charge_total": "900.0",
      "charge_total_including_children": "900.0",
      "weight_total_including_children": "0.0",
      "replacement_charge_total_including_children": "0.0",
      "lead_charging_period": {
        "key": "week",
        "name": "Week",
        "lead": true,
        "percent": "100",
        "price": "810.0",
        "order": 1,
        "initial": true,
        "count": 3
      },
      "lead_charging_period_name": "Weekly",
      "has_shortage": false,
      "has_group_deal": false,
      "is_in_deal": false
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_items": {
      "type": "array"
    }
  }
}

Opportunity Set Deal Price

The Opportunity Set Deal Price method will attempt to set a deal price on the opportunity or group opportunity item with the given ID.

Set Deal Price Opportunity
POST/opportunities/{id}/set_deal_price
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/set_deal_price
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "deal_price": 1000,
  "parent_opportunity_item_id": 4321
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "deal_price": {
      "type": "number",
      "description": "The deal price"
    },
    "parent_opportunity_item_id": {
      "type": "number",
      "description": "The ID of a group opportunity item to set a deal price on"
    }
  },
  "required": [
    "deal_price"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true,
  "error_messages": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    },
    "error_messages": {
      "type": "array",
      "description": "An array of errors if the method was unsuccessful"
    }
  }
}

Opportunity Clear Deal Price

The Opportunity Clear Deal Price method will attempt to clear the deal price from the opportunity or group opportunity item with the given ID.

Clear Deal Price Opportunity
POST/opportunities/{id}/clear_deal_price
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/clear_deal_price
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "parent_opportunity_item_id": 4321
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "parent_opportunity_item_id": {
      "type": "number",
      "description": "The ID of a group opportunity item to clear a deal price from"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true,
  "error_messages": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    },
    "error_messages": {
      "type": "array",
      "description": "An array of errors if the method was unsuccessful"
    }
  }
}

Opportunity Prepare

The Opportunity Prepare method will attempt to mark the given opportunity item asset IDs as prepared.

Prepare Opportunity Item Assets
POST/opportunities/{id}/prepare
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/prepare
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "item_asset_ids": [
    1,
    2,
    3
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "item_asset_ids": {
      "type": "array",
      "description": "The opportunity item asset IDs of the desired records to update"
    }
  },
  "required": [
    "item_asset_ids"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true,
  "opportunity_item_ids": [
    1,
    2,
    3
  ],
  "item_asset_ids": [
    1,
    2,
    3
  ],
  "error_messages": [
    "Hello, world!"
  ],
  "warning_messages": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    },
    "opportunity_item_ids": {
      "type": "array",
      "description": "An array of Opportunity Item IDs that were affected by the method"
    },
    "item_asset_ids": {
      "type": "array",
      "description": "An array of Opportunity Item Asset IDs that were affected by the method"
    },
    "error_messages": {
      "type": "array",
      "description": "An array of errors if the method was unsuccessful"
    },
    "warning_messages": {
      "type": "array",
      "description": "An array of warnings if the method was successful (typically stock shortage warnings)"
    }
  }
}

Opportunity Set Container

The Opportunity Set Container method will set the container attribute for the given opportunity item asset IDs.

Set Container for Opportunity Item Assets
POST/opportunities/{id}/set_container
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/set_container
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "item_asset_ids": [
    1,
    2,
    3
  ],
  "container": "Case 12"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "item_asset_ids": {
      "type": "array",
      "description": "The opportunity item asset IDs of the desired records to update"
    },
    "container": {
      "type": "string",
      "description": "The container reference"
    }
  },
  "required": [
    "item_asset_ids",
    "container"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true,
  "opportunity_item_ids": [
    1,
    2,
    3
  ],
  "item_asset_ids": [
    1,
    2,
    3
  ],
  "error_messages": [
    "Hello, world!"
  ],
  "warning_messages": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    },
    "opportunity_item_ids": {
      "type": "array",
      "description": "An array of Opportunity Item IDs that were affected by the method"
    },
    "item_asset_ids": {
      "type": "array",
      "description": "An array of Opportunity Item Asset IDs that were affected by the method"
    },
    "error_messages": {
      "type": "array",
      "description": "An array of errors if the method was unsuccessful"
    },
    "warning_messages": {
      "type": "array",
      "description": "An array of warnings if the method was successful (typically stock shortage warnings)"
    }
  }
}

Opportunity Confirm

The Opportunity Confirm method will mark the given opportunity item asset IDs related to Service bookings as Confirmed.

Mark as Confirmed Service Opportunity Item Assets
POST/opportunities/{id}/confirm
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/confirm
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "item_asset_ids": [
    1,
    2,
    3
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "item_asset_ids": {
      "type": "array",
      "description": "The opportunity item asset IDs of the desired records to update"
    }
  },
  "required": [
    "item_asset_ids"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true,
  "opportunity_item_ids": [
    1,
    2,
    3
  ],
  "item_asset_ids": [
    1,
    2,
    3
  ],
  "error_messages": [
    "Hello, world!"
  ],
  "warning_messages": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    },
    "opportunity_item_ids": {
      "type": "array",
      "description": "An array of Opportunity Item IDs that were affected by the method"
    },
    "item_asset_ids": {
      "type": "array",
      "description": "An array of Opportunity Item Asset IDs that were affected by the method"
    },
    "error_messages": {
      "type": "array",
      "description": "An array of errors if the method was unsuccessful"
    },
    "warning_messages": {
      "type": "array",
      "description": "An array of warnings if the method was successful (typically stock shortage warnings)"
    }
  }
}

Opportunity Book Out

The Opportunity Book Out method will mark the given opportunity item asset IDs as Booked out.

Mark as Booked Out Opportunity Item Assets
POST/opportunities/{id}/book_out
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/book_out
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "item_asset_ids": [
    1,
    2,
    3
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "item_asset_ids": {
      "type": "array",
      "description": "The opportunity item asset IDs of the desired records to update"
    }
  },
  "required": [
    "item_asset_ids"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true,
  "opportunity_item_ids": [
    1,
    2,
    3
  ],
  "item_asset_ids": [
    1,
    2,
    3
  ],
  "error_messages": [
    "Hello, world!"
  ],
  "warning_messages": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    },
    "opportunity_item_ids": {
      "type": "array",
      "description": "An array of Opportunity Item IDs that were affected by the method"
    },
    "item_asset_ids": {
      "type": "array",
      "description": "An array of Opportunity Item Asset IDs that were affected by the method"
    },
    "error_messages": {
      "type": "array",
      "description": "An array of errors if the method was unsuccessful"
    },
    "warning_messages": {
      "type": "array",
      "description": "An array of warnings if the method was successful (typically stock shortage warnings)"
    }
  }
}

Opportunity Check In

The Opportunity Check In method will mark the given opportunity item asset IDs as Checked In (returned OK).

Mark as Checked In Opportunity Item Assets
POST/opportunities/{id}/check_in
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/check_in
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "item_asset_ids": [
    1,
    2,
    3
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "item_asset_ids": {
      "type": "array",
      "description": "The opportunity item asset IDs of the desired records to update"
    }
  },
  "required": [
    "item_asset_ids"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true,
  "opportunity_item_ids": [
    1,
    2,
    3
  ],
  "item_asset_ids": [
    1,
    2,
    3
  ],
  "error_messages": [
    "Hello, world!"
  ],
  "warning_messages": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    },
    "opportunity_item_ids": {
      "type": "array",
      "description": "An array of Opportunity Item IDs that were affected by the method"
    },
    "item_asset_ids": {
      "type": "array",
      "description": "An array of Opportunity Item Asset IDs that were affected by the method"
    },
    "error_messages": {
      "type": "array",
      "description": "An array of errors if the method was unsuccessful"
    },
    "warning_messages": {
      "type": "array",
      "description": "An array of warnings if the method was successful (typically stock shortage warnings)"
    }
  }
}

Opportunity Revert Status

The Opportunity Revert Status method will change the status of the given opportunity item asset IDs to the previous status ie. from Checked In to Booked Out, Booked Out to Prepared, Prepared to Allocated, Allocated to Reserved

Revert Status Opportunity Item Assets
POST/opportunities/{id}/revert_status
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/revert_status
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "item_asset_ids": [
    1,
    2,
    3
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "item_asset_ids": {
      "type": "array",
      "description": "The opportunity item asset IDs of the desired records to update"
    }
  },
  "required": [
    "item_asset_ids"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true,
  "opportunity_item_ids": [
    1,
    2,
    3
  ],
  "item_asset_ids": [
    1,
    2,
    3
  ],
  "error_messages": [
    "Hello, world!"
  ],
  "warning_messages": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    },
    "opportunity_item_ids": {
      "type": "array",
      "description": "An array of Opportunity Item IDs that were affected by the method"
    },
    "item_asset_ids": {
      "type": "array",
      "description": "An array of Opportunity Item Asset IDs that were affected by the method"
    },
    "error_messages": {
      "type": "array",
      "description": "An array of errors if the method was unsuccessful"
    },
    "warning_messages": {
      "type": "array",
      "description": "An array of warnings if the method was successful (typically stock shortage warnings)"
    }
  }
}

Opportunity Finalise Services

The Opportunity Finalise Services method will attempt to finalise the given opportunity item asset IDs related to Service bookings.

Finalise Service Opportunity Item Assets
POST/opportunities/{id}/finalise_services
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/finalise_services
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "item_asset_ids": [
    1,
    2,
    3
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "item_asset_ids": {
      "type": "array",
      "description": "The opportunity item asset IDs of the desired service records to finalise"
    }
  },
  "required": [
    "item_asset_ids"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true,
  "opportunity_item_ids": [
    1,
    2,
    3
  ],
  "item_asset_ids": [
    1,
    2,
    3
  ],
  "error_messages": [
    "Hello, world!"
  ],
  "warning_messages": [
    "Hello, world!"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    },
    "opportunity_item_ids": {
      "type": "array",
      "description": "An array of Opportunity Item IDs that were affected by the method"
    },
    "item_asset_ids": {
      "type": "array",
      "description": "An array of Opportunity Item Asset IDs that were affected by the method"
    },
    "error_messages": {
      "type": "array",
      "description": "An array of errors if the method was unsuccessful"
    },
    "warning_messages": {
      "type": "array",
      "description": "An array of warnings if the method was successful (typically stock shortage warnings)"
    }
  }
}

Opportunity Convert to Draft

The Opportunity Convert to Draft method will attempt to convert an enquiry opportunity to a draft state

Convert to Draft
GET/opportunities/{id}/convert_to_draft
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/convert_to_draft
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Convert to Quote

The Opportunity Convert to Quote method will attempt to convert a draft opportunity to a quotation state

Convert to Quote
GET/opportunities/{id}/convert_to_quote
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/convert_to_quote
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Convert to Order

The Opportunity Convert to Order method will attempt to convert a draft or quotation opportunity to an order state

Convert to Order
GET/opportunities/{id}/convert_to_order
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/convert_to_order
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Revert to Quote

The Opportunity Revert to Quote method will attempt to convert an order opportunity to a reserved quotation

Revert to Quote
GET/opportunities/{id}/revert_to_quote
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/revert_to_quote
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Mark as Provisional

The Opportunity Mark as Provisional method will attempt to convert an open or reserved quotation opportunity to a provisional status

Mark as Provisional
GET/opportunities/{id}/mark_as_provisional
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/mark_as_provisional
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Mark as Reserved

The Opportunity Mark as Reserved method will attempt to convert a reserved quotation opportunity to a reserved status

Mark as Reserved
GET/opportunities/{id}/mark_as_reserved
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/mark_as_reserved
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Mark as Lost

The Opportunity Mark as Lost method will mark a Quotation state Opportunity as “Lost”

Mark as Lost
GET/opportunities/{id}/mark_as_lost
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/mark_as_lost
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Mark as Dead

The Opportunity Mark as Dead method will mark a Quotation state Opportunity as “Dead”

Mark as Dead
GET/opportunities/{id}/mark_as_dead
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/mark_as_dead
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Mark as Postponed

The Opportunity Mark as Postponed method will mark a Quotation or Order state Opportunity as “Postponed”

Mark as Postponed
GET/opportunities/{id}/mark_as_postponed
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/mark_as_postponed
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Cancel

The Opportunity Cancel method will cancel an opportunity of Order state only (Enquiries, Drafts & Quotations cannot be cancelled).

Cancel an Opportunity Order
GET/opportunities/{id}/cancel
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/cancel
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Reinstate

The Opportunity Reinstate method will reinstate an opportunity of Lost, Dead or Postponed status.

Reinstate an Opportunity
GET/opportunities/{id}/reinstate
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/reinstate
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

starts_at (string, optional)2019-06-01T08:00:00.000Z

The new start date for the opportunity used to calculate the new end date, schedule and service dates

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Re-open

The Opportunity Re-open method will re-open a previously completed opportunity order.

Re-open an Opportunity
GET/opportunities/{id}/reopen
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/reopen
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Finalise Check-In

The Opportunity Finalise Check-In method will finalise all opportunity item assets at checked-in status, setting their status to Completed where the quantity outstanding is zero. You must provide a value for ‘return_at’, this should be the opportunity’s end date/time if items were returned on time, or vary if an early or late return.

Finalise Check-In
POST/opportunities/{id}/finalise
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/finalise
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

move_outstanding (boolean, optional)true

When true, a new opportunity will be created containing the remaining assets on the opportunity that have not yet been checked-in (defaults to false)

complete_sales_items (boolean, optional)true

When true, any sale items not marked as checked-in will be marked as ‘sold’ (defaults to false)

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "return": {
    "return_at": "2017-06-25T11:14:32.087Z"
  },
  "move_outstanding": true,
  "complete_sales_items": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "return": {
      "type": "object",
      "properties": {
        "return_at": {
          "type": "string",
          "description": "The return date/time of the checked-in assets - note if this date/time is different to the opportunity's end date/time, it will adjust the stock bookings and therefore the availability of the rental product (allows for early and late returns)."
        }
      }
    },
    "move_outstanding": {
      "type": "boolean",
      "description": "When true, a new opportunity will be created containing the remaining assets on the opportunity that have not yet been checked-in"
    },
    "complete_sales_items": {
      "type": "boolean",
      "description": "When true, any sale items not marked as checked-in will be marked as 'sold'"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Enable Auto Costing

The Opportunity Enable Auto Costing method will calculate and create sub-rental, purchase and service costs for an opportunity that was created before the automatic costing feature was introduced.

Enable Auto Costing
GET/opportunities/{id}/enable_auto_costing
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/enable_auto_costing
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Toggle Invoiced

The Opportunity Toggle Invoiced method will toggle the invoiced flag on an opportunity. The opportunity must be an order which has not been cancelled or postponed.

Toggle Invoiced
PATCH/opportunities/{id}/toggle_invoiced
Example URI
PATCH https://api.current-rms.com/api/v1/opportunities/1/toggle_invoiced
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity": {
    "store_id": 1,
    "project_id": null,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "quote_invalid_at": "",
    "state": 1,
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "open_ended_rental": false,
    "invoiced": false,
    "rating": 4,
    "revenue": "0",
    "customer_collecting": false,
    "customer_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "owned_by": 1,
    "prep_starts_at": "",
    "prep_ends_at": "",
    "load_starts_at": "",
    "load_ends_at": "",
    "deliver_starts_at": "",
    "deliver_ends_at": "",
    "setup_starts_at": "",
    "setup_ends_at": "",
    "show_starts_at": "",
    "show_ends_at": "",
    "takedown_starts_at": "",
    "takedown_ends_at": "",
    "collect_starts_at": "",
    "collect_ends_at": "",
    "unload_starts_at": "",
    "unload_ends_at": "",
    "deprep_starts_at": "",
    "deprep_ends_at": "",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "assigned_surcharge_group_ids": [
      1
    ],
    "cancellation_reason_id": 0,
    "cancellation_description": "",
    "invoice_charge_total": "",
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "charge_excluding_tax_total": "15990.0",
    "charge_including_tax_total": "19188.0",
    "rental_charge_total": "15990.0",
    "sale_charge_total": "15990.0",
    "surcharge_total": "15990.0",
    "service_charge_total": "15990.0",
    "tax_total": "3198.0",
    "original_rental_charge_total": "15990.0",
    "original_sale_charge_total": "15990.0",
    "original_surcharge_total": "15990.0",
    "original_service_charge_total": "15990.0",
    "original_tax_total": "3198.0",
    "replacement_charge_total": "1198.0",
    "provisional_cost_total": "1198.0",
    "actual_cost_total": "1298.0",
    "predicted_cost_total": "1298.0",
    "weight_total": "",
    "item_returned": false,
    "prices_include_tax": false,
    "pricing_locked": false,
    "latest_approval_document_status": 0,
    "has_deal_price": false,
    "has_opportunity_deal": false,
    "auto_costing_enabled": true,
    "source_opportunity_id": null,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunity_surcharges": [
      {
        "opportunity_id": 1,
        "surcharge_group_id": 1,
        "id": 1,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "surcharge_group_name": "Insurance"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this opportunity"
        },
        "project_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Project record this opportunity belongs to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this opportunity is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this opportunity's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this opportunity is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this opportunity is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this opportunity"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity"
        },
        "number": {
          "type": "string",
          "description": "The opportunity reference number"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date or delivery date of this opportunity"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date or collection date of this opportunity"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this opportunity"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this opportunity"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this opportunity"
        },
        "quote_invalid_at": {
          "type": "string",
          "description": "The date this quote is valid to"
        },
        "state": {
          "type": "number",
          "description": "The opportunity state (0 = Enquiry, 1 = Draft, 2 = Quotation, 3 = Order)"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "open_ended_rental": {
          "type": "boolean",
          "description": "Is this opportunity open ended? (i.e. has no known end date)"
        },
        "invoiced": {
          "type": "boolean",
          "description": "Has this opportunity been invoiced?"
        },
        "rating": {
          "type": "number",
          "description": "The Opportunity enquiry rating"
        },
        "revenue": {
          "type": "string",
          "description": "The Opportunity enquiry value"
        },
        "customer_collecting": {
          "type": "boolean",
          "description": "Is the customer using their own transport to collect this opportunity?"
        },
        "customer_returning": {
          "type": "boolean",
          "description": "Is the customer using their own transport to return this opportunity?"
        },
        "reference": {
          "type": "string",
          "description": "The customer reference for this opportunity"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this opportunity that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this opportunity"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "prep_starts_at": {
          "type": "string",
          "description": "The preparation start date/time for this opportunity"
        },
        "prep_ends_at": {
          "type": "string",
          "description": "The preparation end date/time for this opportunity"
        },
        "load_starts_at": {
          "type": "string",
          "description": "The loading start date/time for this opportunity"
        },
        "load_ends_at": {
          "type": "string",
          "description": "The loading end date/time for this opportunity"
        },
        "deliver_starts_at": {
          "type": "string",
          "description": "The delivery start date/time for this opportunity"
        },
        "deliver_ends_at": {
          "type": "string",
          "description": "The delivery end date/time for this opportunity"
        },
        "setup_starts_at": {
          "type": "string",
          "description": "The setup start date/time for this opportunity"
        },
        "setup_ends_at": {
          "type": "string",
          "description": "The setup end date/time for this opportunity"
        },
        "show_starts_at": {
          "type": "string",
          "description": "The show (in use) start date/time for this opportunity"
        },
        "show_ends_at": {
          "type": "string",
          "description": "The show (in use) end date/time for this opportunity"
        },
        "takedown_starts_at": {
          "type": "string",
          "description": "The take down start date/time for this opportunity"
        },
        "takedown_ends_at": {
          "type": "string",
          "description": "The take down end date/time for this opportunity"
        },
        "collect_starts_at": {
          "type": "string",
          "description": "The collection start date/time for this opportunity"
        },
        "collect_ends_at": {
          "type": "string",
          "description": "The collection end date/time for this opportunity"
        },
        "unload_starts_at": {
          "type": "string",
          "description": "The unload start date/time for this opportunity"
        },
        "unload_ends_at": {
          "type": "string",
          "description": "The unload end date/time for this opportunity"
        },
        "deprep_starts_at": {
          "type": "string",
          "description": "The de-preparation start date/time for this opportunity"
        },
        "deprep_ends_at": {
          "type": "string",
          "description": "The de-preparation end date/time for this opportunity"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this opportunity"
        },
        "assigned_surcharge_group_ids": {
          "type": "array",
          "description": "An array of record identifiers for the Surcharge Groups enabled for this opportunity"
        },
        "cancellation_reason_id": {
          "type": "number",
          "description": "The cancellation reason ID for this opportunity"
        },
        "cancellation_description": {
          "type": "string",
          "description": "The cancellation description for this opportunity"
        },
        "invoice_charge_total": {
          "type": "string",
          "description": "The total amount invoiced for this opportunity"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this opportunity"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the opportunity record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the opportunity state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity status (0 = Open, 1 = Provisional, 5 = Reserved, 20 = Active, 40 = Completed, 50 = Cancelled, 60 = Lost, 70 = Dead, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "charge_excluding_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total excluding tax"
        },
        "charge_including_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity charge total including tax"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any opportunity or group deal is applied (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity tax total before any opportunity or group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of all rental product replacement charges"
        },
        "provisional_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all provisional costs"
        },
        "actual_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual costs"
        },
        "predicted_cost_total": {
          "type": "string",
          "description": "(Readonly) The total of all actual or provisional costs"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "item_returned": {
          "type": "boolean",
          "description": "(Readonly) Have some or all items on this opportunity been returned?"
        },
        "prices_include_tax": {
          "type": "boolean",
          "description": "(Readonly) Flag to indicate whether the prices on this opportunity include tax or not"
        },
        "pricing_locked": {
          "type": "boolean",
          "description": "(Readonly) Has the opportunity pricing been locked?"
        },
        "latest_approval_document_status": {
          "type": "number",
          "description": "(Readonly) The last status (Accepted/Declined) of a quotation published for online approval"
        },
        "has_deal_price": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity or one or more of the opportunity's groups?"
        },
        "has_opportunity_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the opportunity? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "auto_costing_enabled": {
          "type": "boolean",
          "description": "(Readonly) This is false for opportunities that were created before the auto costing feature was introduced and have not had auto costing enabled"
        },
        "source_opportunity_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the source Opportunity record when the opportunity was created by the Finalise action to move outstanding items"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this opportunity"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunity_surcharges": {
          "type": "array",
          "description": "The surcharge groups enabled for this opportunity"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Opportunity Costs

An Opportunity Cost represents a cost that is part of an Opportunity

Opportunity Cost

Retrieve an Opportunity Cost
GET/opportunities/{opportunity_id}/opportunity_costs/{id}
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/opportunity_costs/1
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

id (number, required)1

The ID of the desired opportunity cost

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_cost": {
    "opportunity_id": 1,
    "opportunity_item_asset_id": 1,
    "cost_date": "2015-06-29",
    "subject": "Transport Costs",
    "description": "",
    "reference": "",
    "cost_group_id": 11002,
    "provisional_cost": "123.45",
    "actual_cost": "143.45",
    "member_id": 32,
    "supplier_reference": "",
    "rate_definition_id": 5,
    "service_rate_type": 0,
    "starts_at": "2015-06-29",
    "ends_at": "2015-06-29",
    "use_chargeable_days": true,
    "chargeable_days": "1.0",
    "id": 1,
    "cost_group_name": "Fax",
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "service_rate_type_name": "",
    "charging_periods": [
      {
        "key": "week",
        "name": "Week",
        "lead": true,
        "percent": "100",
        "price": "810.0",
        "order": 1,
        "initial": true,
        "count": 3
      }
    ],
    "unit_base_charge": "100.0",
    "is_manual_cost": false,
    "rate_definition": {
      "id": 1,
      "rate_engine_id": 7,
      "name": "3 Day Week Rate",
      "config": {},
      "rate_engine": {
        "id": 1,
        "name": "Daily Multiplier and Factor Rate Engine",
        "description": "",
        "lead_charge_period": "period",
        "config": {},
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "opportunity_item_asset": {
      "opportunity_item_id": 526,
      "stock_level_id": 279,
      "supplier_id": null,
      "status": 15,
      "quantity": "1.0",
      "quantity_allocated": "0.0",
      "quantity_returned": "0.0",
      "quantity_sold": "0.0",
      "container": "",
      "id": 1,
      "stock_level_asset_number": "751-4-45-994617-4",
      "stock_level_member_id": 1,
      "stock_level_member_work_email_address": null,
      "status_name": "Prepared",
      "stock_level": {
        "item_id": 10,
        "store_id": 1,
        "member_id": null,
        "asset_number": "751-4-45-994617-4",
        "serial_number": "BN45Z3JUTY1ALH6",
        "location": "KQ34",
        "stock_type": 1,
        "stock_category": 50,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 279,
        "item_name": "Canon C300 (PL)",
        "store_name": "Nottingham",
        "stock_type_name": "Rental",
        "stock_category_name": "Bulk Stock",
        "container_stock_level_id": 112,
        "container_mode": 1
      },
      "supplier": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "has_shortage": false,
      "sub_rent": false,
      "opportunity_cost": {}
    },
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_cost": {
      "type": "object",
      "properties": {
        "opportunity_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity record this opportunity cost relates to"
        },
        "opportunity_item_asset_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity Item Asset record this opportunity cost relates to (null for manual costs)"
        },
        "cost_date": {
          "type": "string",
          "description": "The cost date of this opportunity cost"
        },
        "subject": {
          "type": "string",
          "description": "The subject or name of this cost"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity cost"
        },
        "reference": {
          "type": "string",
          "description": "A reference for this cost"
        },
        "cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the cost group record specifying the group of the cost"
        },
        "provisional_cost": {
          "type": "string",
          "description": "The provisional cost"
        },
        "actual_cost": {
          "type": "string",
          "description": "The actual cost"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation (supplier) record this opportunity cost is associated to"
        },
        "supplier_reference": {
          "type": "string",
          "description": "A supplier reference for this cost"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record associated with this opportunity cost"
        },
        "service_rate_type": {
          "type": "number",
          "description": "The service rate type (Day = 1, Hour = 2, Distance = 3, Flat_Rate = 4) only applicable when cost is related to a Service"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of this opportunity cost"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of this opportunity cost"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override chargeable days calculation?"
        },
        "chargeable_days": {
          "type": "string",
          "description": "The number of chargeable day for this opportunity cost (Readonly unless use_chargeable_days is true)"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Opportunity Cost record"
        },
        "cost_group_name": {
          "type": "string",
          "description": "(Readonly) The cost group name"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation (supplier) record detail"
        },
        "service_rate_type_name": {
          "type": "string",
          "description": "(Readonly) The service rate type name"
        },
        "charging_periods": {
          "type": "array",
          "description": "(Readonly) A charging period object containing the breakdown of how the sub-rental or service cost was calculated"
        },
        "unit_base_charge": {
          "type": "string",
          "description": "(Readonly) The opportunity cost unit charge amount"
        },
        "is_manual_cost": {
          "type": "boolean",
          "description": "(Readonly) Is this a manual cost created by the user?"
        },
        "rate_definition": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Rate Definition record"
            },
            "rate_engine_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Rate Engine record this rate definition relates to"
            },
            "name": {
              "type": "string",
              "description": "(Readonly) The name of the Rate Definition"
            },
            "config": {
              "type": "object",
              "properties": {},
              "description": "(Readonly) The config object for the Rate Definition"
            },
            "rate_engine": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Rate Engine record"
                },
                "name": {
                  "type": "string",
                  "description": "(Readonly) The name of the Rate Engine"
                },
                "description": {
                  "type": "string",
                  "description": "(Readonly) A longer description of the Rate Engine"
                },
                "lead_charge_period": {
                  "type": "string",
                  "description": "(Readonly) The name of the lead period for this Rate Engine"
                },
                "config": {
                  "type": "object",
                  "properties": {},
                  "description": "(Readonly) The config object for the Rate Engine"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Rate Engine record was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Rate Engine record was last updated"
                }
              },
              "description": "The Rate Engine object for this Rate Definition"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Rate Definition record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Rate Definition record was last updated"
            }
          },
          "description": "(Readonly) The Rate Definition associated with this opportunity cost"
        },
        "opportunity_item_asset": {
          "type": "object",
          "properties": {
            "opportunity_item_id": {
              "type": "number",
              "description": "The internal identifier of the Opportunity Item record this opportunity item asset relates to"
            },
            "stock_level_id": {
              "type": "number",
              "description": "The internal identifier of the Stock Level record this opportunity item asset relates to"
            },
            "supplier_id": {
              "type": [
                "number",
                "null"
              ],
              "description": "The internal identifier of the Member record this opportunity item asset relates to (only applicable for sub-rent bookings)"
            },
            "status": {
              "type": "number",
              "description": "The opportunity item asset status (Open = 0, Provisional = 1, Provisionally Allocated = 2, Reserved = 5, Allocated = 10, Prepared = 15, Confirmed = 15, Booked Out = 20, Part Checked In = 25, Checked In = 30, Completed = 40, Moved = 45, Cancelled = 50, Postponed = 80)"
            },
            "quantity": {
              "type": "string",
              "description": "The opportunity item asset quantity"
            },
            "quantity_allocated": {
              "type": "string",
              "description": "The opportunity item asset quantity allocated"
            },
            "quantity_returned": {
              "type": "string",
              "description": "The opportunity item asset quantity returned"
            },
            "quantity_sold": {
              "type": "string",
              "description": "The opportunity item asset quantity sold"
            },
            "container": {
              "type": "string",
              "description": "The opportunity item asset container"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Opportunity Item Asset record"
            },
            "stock_level_asset_number": {
              "type": "string",
              "description": "(Readonly) The stock level asset (barcode) number"
            },
            "stock_level_member_id": {
              "type": [
                "number",
                "null"
              ],
              "description": "(Readonly) The internal identifier of the Member record the service stock level relates to"
            },
            "stock_level_member_work_email_address": {
              "type": [
                "number",
                "null"
              ],
              "description": "(Readonly) The work email address of the Member record the service stock level relates to"
            },
            "status_name": {
              "type": "string",
              "description": "(Readonly) The opportunity item asset status name"
            },
            "stock_level": {
              "type": "object",
              "properties": {
                "item_id": {
                  "type": "number",
                  "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
                },
                "store_id": {
                  "type": "number",
                  "description": "The internal identifier of the Store record this stock level relates to"
                },
                "member_id": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "The internal identifier of the Member record this stock level relates to (Services only)"
                },
                "asset_number": {
                  "type": "string",
                  "description": "The stock level asset (barcode) number"
                },
                "serial_number": {
                  "type": "string",
                  "description": "The stock level serial number"
                },
                "location": {
                  "type": "string",
                  "description": "The stock level location"
                },
                "stock_type": {
                  "type": "number",
                  "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
                },
                "stock_category": {
                  "type": "number",
                  "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
                },
                "quantity_held": {
                  "type": "string",
                  "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
                },
                "quantity_allocated": {
                  "type": "string",
                  "description": "The stock level quantity allocated (only applicable to sales stock)"
                },
                "quantity_unavailable": {
                  "type": "string",
                  "description": "unused"
                },
                "quantity_on_order": {
                  "type": "string",
                  "description": "unused"
                },
                "starts_at": {
                  "type": "string",
                  "description": "The service resource start date (only applicable to service stock)"
                },
                "ends_at": {
                  "type": "string",
                  "description": "The service resource end date (only applicable to service stock)"
                },
                "icon": {
                  "type": "object",
                  "properties": {
                    "iconable_id": {
                      "type": "number",
                      "description": "The internal identifier of the record this icon is related to"
                    },
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Icon record"
                    },
                    "image_file_name": {
                      "type": "string",
                      "description": "The image filename"
                    },
                    "url": {
                      "type": "string",
                      "description": "(Readonly) The full URL for the original size image"
                    },
                    "thumb_url": {
                      "type": "string",
                      "description": "The full URL for the thunbnail size image"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Icon was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Icon"
                    },
                    "iconable_type": {
                      "type": "string",
                      "description": "The type of record this icon is related to"
                    }
                  },
                  "description": "The Icon object for this stock level"
                },
                "custom_fields": {
                  "type": "object",
                  "properties": {},
                  "description": "A collection of custom field attributes"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Stock Level record"
                },
                "item_name": {
                  "type": "string",
                  "description": "(Readonly) The name of the Item (Product or Service)"
                },
                "store_name": {
                  "type": "string",
                  "description": "(Readonly) The name of the Store"
                },
                "stock_type_name": {
                  "type": "string",
                  "description": "(Readonly) The stock level stock type name"
                },
                "stock_category_name": {
                  "type": "string",
                  "description": "(Readonly) The stock level stock category name"
                },
                "container_stock_level_id": {
                  "type": "number",
                  "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
                },
                "container_mode": {
                  "type": "number",
                  "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
                }
              },
              "description": "(Readonly) The stock level record this opportunity item asset is related to"
            },
            "supplier": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The member's name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the member"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is the member record active?"
                },
                "bookable": {
                  "type": "boolean",
                  "description": "Is the member bookable via the Resource Planner?"
                },
                "location_type": {
                  "type": "number",
                  "description": "Resource location (0 = Internal, 1 = External)"
                },
                "locale": {
                  "type": "string",
                  "description": "The member's language locale"
                },
                "membership_type": {
                  "type": "string",
                  "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
                },
                "lawful_basis_type_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the lawful basis type"
                },
                "sale_tax_class_id": {
                  "type": "number",
                  "description": "The tax class record identifier for sales to an Organisation"
                },
                "purchase_tax_class_id": {
                  "type": "number",
                  "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
                },
                "tag_list": {
                  "type": "array",
                  "description": "An array of tags associated with the Member record"
                },
                "custom_fields": {
                  "type": "object",
                  "properties": {},
                  "description": "A collection of custom field attributes"
                },
                "membership": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the membership record"
                    },
                    "number": {
                      "type": "string",
                      "description": "The organisation's reference (account) number"
                    },
                    "tax_number": {
                      "type": "string",
                      "description": "The organisation's tax registration number"
                    },
                    "cash": {
                      "type": "boolean",
                      "description": "Is the organisation flagged as cash?"
                    },
                    "on_stop": {
                      "type": "boolean",
                      "description": "Is the organisation on stop?"
                    },
                    "rating": {
                      "type": "number",
                      "description": "The organisation rating (1-5)"
                    },
                    "owned_by": {
                      "type": "number",
                      "description": "The owner (Member) record identifier"
                    },
                    "price_category_id": {
                      "type": "number",
                      "description": "The internal identifier of the list_value record specifying the price category"
                    },
                    "discount_category_id": {
                      "type": "number",
                      "description": "The discount category record identifier"
                    },
                    "invoice_term": {
                      "type": "number",
                      "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                    },
                    "invoice_term_length": {
                      "type": "number",
                      "description": "Invoice term days"
                    }
                  },
                  "description": "The organisation member details"
                },
                "primary_address": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The address name"
                    },
                    "street": {
                      "type": "string",
                      "description": "The street address"
                    },
                    "postcode": {
                      "type": "string",
                      "description": "The postal/zip code"
                    },
                    "city": {
                      "type": "string",
                      "description": "The address city"
                    },
                    "county": {
                      "type": "string",
                      "description": "The address county/state"
                    },
                    "country_id": {
                      "type": "string",
                      "description": "The address country record identifier"
                    },
                    "country_name": {
                      "type": "string",
                      "description": "(Readonly) The address country name"
                    },
                    "type_id": {
                      "type": "number",
                      "description": "The address type record identifier (see ListValues)"
                    },
                    "address_type_name": {
                      "type": "string",
                      "description": "(Readonly) The address type name"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Address was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Address"
                    }
                  },
                  "description": "The Primary Address object for this member"
                },
                "emails": {
                  "type": "array",
                  "description": "An array of Email objects for this member"
                },
                "phones": {
                  "type": "array",
                  "description": "An array of Phone objects for this member"
                },
                "links": {
                  "type": "array",
                  "description": "An array of Link objects for this member"
                },
                "addresses": {
                  "type": "array",
                  "description": "An array of Address objects for this member (does not include Primary Address)"
                },
                "service_stock_levels": {
                  "type": "array",
                  "description": "An array of Stock Level objects for this member's assigned services"
                },
                "day_cost": {
                  "type": "string",
                  "description": "`100.00` (number) - The daily cost of a bookable resource"
                },
                "hour_cost": {
                  "type": "string",
                  "description": "`15.00` (number) - The hourly cost of a bookable resource"
                },
                "distance_cost": {
                  "type": "string",
                  "description": "`1.00` (number) - The distance cost of a bookable resource"
                },
                "flat_rate_cost": {
                  "type": "string",
                  "description": "`300.00` (number) - The flat rate cost of a bookable resource"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the member record"
                },
                "uuid": {
                  "type": "string",
                  "description": "(Readonly) The universally unique identifier of the member record"
                },
                "membership_id": {
                  "type": "number",
                  "description": "(Readonly) The internal identifier of the Member record's Membership record"
                },
                "lawful_basis_type_name": {
                  "type": "string",
                  "description": "(Readonly) The lawful basis type name"
                },
                "sale_tax_class_name": {
                  "type": "string",
                  "description": "(Readonly) The tax class name for sales to an Organisation"
                },
                "purchase_tax_class_name": {
                  "type": "string",
                  "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Member was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Member was last updated"
                },
                "icon": {
                  "type": "object",
                  "properties": {
                    "iconable_id": {
                      "type": "number",
                      "description": "The internal identifier of the record this icon is related to"
                    },
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Icon record"
                    },
                    "image_file_name": {
                      "type": "string",
                      "description": "The image filename"
                    },
                    "url": {
                      "type": "string",
                      "description": "(Readonly) The full URL for the original size image"
                    },
                    "thumb_url": {
                      "type": "string",
                      "description": "The full URL for the thunbnail size image"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Icon was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Icon"
                    },
                    "iconable_type": {
                      "type": "string",
                      "description": "The type of record this icon is related to"
                    }
                  },
                  "description": "The Icon object for this member"
                },
                "child_members": {
                  "type": "array",
                  "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
                },
                "parent_members": {
                  "type": "array",
                  "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
                }
              },
              "required": [
                "name",
                "membership_type"
              ],
              "description": "(Readonly) The Member organisation record this opportunity item asset is related to"
            },
            "has_shortage": {
              "type": "boolean",
              "description": "(Readonly) Does a shortage exist for the stock level?"
            },
            "sub_rent": {
              "type": "boolean",
              "description": "(Readonly) Is this opportunity item asset sub-rented?"
            },
            "opportunity_cost": {
              "type": "object",
              "properties": {},
              "description": "(Readonly) The Opportunity Cost record for this opportunity item asset"
            }
          },
          "description": "(Readonly) The Opportunity Item Asset associated with a non-manual opportunity cost"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity cost was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity cost"
        }
      }
    }
  }
}

Opportunity Costs

List Opportunity Costs
GET/opportunities/{opportunity_id}/opportunity_costs{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/opportunity_costs?page=1&per_page=20
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[subject_or_description_or_reference_cont] (string, optional, `search_text_here`) (string, required)

Search on subject, description or reference for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_costs": [
    {
      "opportunity_id": 1,
      "opportunity_item_asset_id": 1,
      "cost_date": "2015-06-29",
      "subject": "Transport Costs",
      "description": "",
      "reference": "",
      "cost_group_id": 11002,
      "provisional_cost": "123.45",
      "actual_cost": "143.45",
      "member_id": 32,
      "supplier_reference": "",
      "rate_definition_id": 5,
      "service_rate_type": 0,
      "starts_at": "2015-06-29",
      "ends_at": "2015-06-29",
      "use_chargeable_days": true,
      "chargeable_days": "1.0",
      "id": 1,
      "cost_group_name": "Fax",
      "member": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "service_rate_type_name": "",
      "charging_periods": [
        {
          "key": "week",
          "name": "Week",
          "lead": true,
          "percent": "100",
          "price": "810.0",
          "order": 1,
          "initial": true,
          "count": 3
        }
      ],
      "unit_base_charge": "100.0",
      "is_manual_cost": false,
      "rate_definition": {
        "id": 1,
        "rate_engine_id": 7,
        "name": "3 Day Week Rate",
        "config": {},
        "rate_engine": {
          "id": 1,
          "name": "Daily Multiplier and Factor Rate Engine",
          "description": "",
          "lead_charge_period": "period",
          "config": {},
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        },
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "opportunity_item_asset": {
        "opportunity_item_id": 526,
        "stock_level_id": 279,
        "supplier_id": null,
        "status": 15,
        "quantity": "1.0",
        "quantity_allocated": "0.0",
        "quantity_returned": "0.0",
        "quantity_sold": "0.0",
        "container": "",
        "id": 1,
        "stock_level_asset_number": "751-4-45-994617-4",
        "stock_level_member_id": 1,
        "stock_level_member_work_email_address": null,
        "status_name": "Prepared",
        "stock_level": {
          "item_id": 10,
          "store_id": 1,
          "member_id": null,
          "asset_number": "751-4-45-994617-4",
          "serial_number": "BN45Z3JUTY1ALH6",
          "location": "KQ34",
          "stock_type": 1,
          "stock_category": 50,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 279,
          "item_name": "Canon C300 (PL)",
          "store_name": "Nottingham",
          "stock_type_name": "Rental",
          "stock_category_name": "Bulk Stock",
          "container_stock_level_id": 112,
          "container_mode": 1
        },
        "supplier": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1,
            "number": "ABC123",
            "tax_number": "T456789",
            "cash": false,
            "on_stop": false,
            "rating": 1,
            "owned_by": 1,
            "price_category_id": 1000015,
            "discount_category_id": 1,
            "invoice_term": 1,
            "invoice_term_length": 7
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "has_shortage": false,
        "sub_rent": false,
        "opportunity_cost": {}
      },
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_costs": {
      "type": "array"
    }
  }
}
Create an Opportunity Cost
POST/opportunities/{opportunity_id}/opportunity_costs
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/opportunity_costs
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_cost": {
    "opportunity_id": 1,
    "opportunity_item_asset_id": 1,
    "cost_date": "2015-06-29",
    "subject": "Transport Costs",
    "description": "Hello, world!",
    "reference": "Hello, world!",
    "cost_group_id": 11002,
    "provisional_cost": "123.45",
    "actual_cost": "143.45",
    "member_id": 32,
    "supplier_reference": "Hello, world!",
    "rate_definition_id": 5,
    "service_rate_type": 1,
    "starts_at": "2015-06-29",
    "ends_at": "2015-06-29",
    "use_chargeable_days": true,
    "chargeable_days": "1.0"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_cost": {
      "type": "object",
      "properties": {
        "opportunity_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity record this opportunity cost relates to"
        },
        "opportunity_item_asset_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity Item Asset record this opportunity cost relates to (null for manual costs)"
        },
        "cost_date": {
          "type": "string",
          "description": "The cost date of this opportunity cost"
        },
        "subject": {
          "type": "string",
          "description": "The subject or name of this cost"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity cost"
        },
        "reference": {
          "type": "string",
          "description": "A reference for this cost"
        },
        "cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the cost group record specifying the group of the cost"
        },
        "provisional_cost": {
          "type": "string",
          "description": "The provisional cost"
        },
        "actual_cost": {
          "type": "string",
          "description": "The actual cost"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation (supplier) record this opportunity cost is associated to"
        },
        "supplier_reference": {
          "type": "string",
          "description": "A supplier reference for this cost"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record associated with this opportunity cost"
        },
        "service_rate_type": {
          "type": "number",
          "description": "The service rate type (Day = 1, Hour = 2, Distance = 3, Flat_Rate = 4) only applicable when cost is related to a Service"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of this opportunity cost"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of this opportunity cost"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override chargeable days calculation?"
        },
        "chargeable_days": {
          "type": "string",
          "description": "The number of chargeable day for this opportunity cost (Readonly unless use_chargeable_days is true)"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_cost": {
    "opportunity_id": 1,
    "opportunity_item_asset_id": 1,
    "cost_date": "2015-06-29",
    "subject": "Transport Costs",
    "description": "",
    "reference": "",
    "cost_group_id": 11002,
    "provisional_cost": "123.45",
    "actual_cost": "143.45",
    "member_id": 32,
    "supplier_reference": "",
    "rate_definition_id": 5,
    "service_rate_type": 0,
    "starts_at": "2015-06-29",
    "ends_at": "2015-06-29",
    "use_chargeable_days": true,
    "chargeable_days": "1.0",
    "id": 1,
    "cost_group_name": "Fax",
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "service_rate_type_name": "",
    "charging_periods": [
      {
        "key": "week",
        "name": "Week",
        "lead": true,
        "percent": "100",
        "price": "810.0",
        "order": 1,
        "initial": true,
        "count": 3
      }
    ],
    "unit_base_charge": "100.0",
    "is_manual_cost": false,
    "rate_definition": {
      "id": 1,
      "rate_engine_id": 7,
      "name": "3 Day Week Rate",
      "config": {},
      "rate_engine": {
        "id": 1,
        "name": "Daily Multiplier and Factor Rate Engine",
        "description": "",
        "lead_charge_period": "period",
        "config": {},
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "opportunity_item_asset": {
      "opportunity_item_id": 526,
      "stock_level_id": 279,
      "supplier_id": null,
      "status": 15,
      "quantity": "1.0",
      "quantity_allocated": "0.0",
      "quantity_returned": "0.0",
      "quantity_sold": "0.0",
      "container": "",
      "id": 1,
      "stock_level_asset_number": "751-4-45-994617-4",
      "stock_level_member_id": 1,
      "stock_level_member_work_email_address": null,
      "status_name": "Prepared",
      "stock_level": {
        "item_id": 10,
        "store_id": 1,
        "member_id": null,
        "asset_number": "751-4-45-994617-4",
        "serial_number": "BN45Z3JUTY1ALH6",
        "location": "KQ34",
        "stock_type": 1,
        "stock_category": 50,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 279,
        "item_name": "Canon C300 (PL)",
        "store_name": "Nottingham",
        "stock_type_name": "Rental",
        "stock_category_name": "Bulk Stock",
        "container_stock_level_id": 112,
        "container_mode": 1
      },
      "supplier": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "has_shortage": false,
      "sub_rent": false,
      "opportunity_cost": {}
    },
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_cost": {
      "type": "object",
      "properties": {
        "opportunity_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity record this opportunity cost relates to"
        },
        "opportunity_item_asset_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity Item Asset record this opportunity cost relates to (null for manual costs)"
        },
        "cost_date": {
          "type": "string",
          "description": "The cost date of this opportunity cost"
        },
        "subject": {
          "type": "string",
          "description": "The subject or name of this cost"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity cost"
        },
        "reference": {
          "type": "string",
          "description": "A reference for this cost"
        },
        "cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the cost group record specifying the group of the cost"
        },
        "provisional_cost": {
          "type": "string",
          "description": "The provisional cost"
        },
        "actual_cost": {
          "type": "string",
          "description": "The actual cost"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member Organisation (supplier) record this opportunity cost is associated to"
        },
        "supplier_reference": {
          "type": "string",
          "description": "A supplier reference for this cost"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record associated with this opportunity cost"
        },
        "service_rate_type": {
          "type": "number",
          "description": "The service rate type (Day = 1, Hour = 2, Distance = 3, Flat_Rate = 4) only applicable when cost is related to a Service"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of this opportunity cost"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of this opportunity cost"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override chargeable days calculation?"
        },
        "chargeable_days": {
          "type": "string",
          "description": "The number of chargeable day for this opportunity cost (Readonly unless use_chargeable_days is true)"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Opportunity Cost record"
        },
        "cost_group_name": {
          "type": "string",
          "description": "(Readonly) The cost group name"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation (supplier) record detail"
        },
        "service_rate_type_name": {
          "type": "string",
          "description": "(Readonly) The service rate type name"
        },
        "charging_periods": {
          "type": "array",
          "description": "(Readonly) A charging period object containing the breakdown of how the sub-rental or service cost was calculated"
        },
        "unit_base_charge": {
          "type": "string",
          "description": "(Readonly) The opportunity cost unit charge amount"
        },
        "is_manual_cost": {
          "type": "boolean",
          "description": "(Readonly) Is this a manual cost created by the user?"
        },
        "rate_definition": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Rate Definition record"
            },
            "rate_engine_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Rate Engine record this rate definition relates to"
            },
            "name": {
              "type": "string",
              "description": "(Readonly) The name of the Rate Definition"
            },
            "config": {
              "type": "object",
              "properties": {},
              "description": "(Readonly) The config object for the Rate Definition"
            },
            "rate_engine": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Rate Engine record"
                },
                "name": {
                  "type": "string",
                  "description": "(Readonly) The name of the Rate Engine"
                },
                "description": {
                  "type": "string",
                  "description": "(Readonly) A longer description of the Rate Engine"
                },
                "lead_charge_period": {
                  "type": "string",
                  "description": "(Readonly) The name of the lead period for this Rate Engine"
                },
                "config": {
                  "type": "object",
                  "properties": {},
                  "description": "(Readonly) The config object for the Rate Engine"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Rate Engine record was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Rate Engine record was last updated"
                }
              },
              "description": "The Rate Engine object for this Rate Definition"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Rate Definition record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Rate Definition record was last updated"
            }
          },
          "description": "(Readonly) The Rate Definition associated with this opportunity cost"
        },
        "opportunity_item_asset": {
          "type": "object",
          "properties": {
            "opportunity_item_id": {
              "type": "number",
              "description": "The internal identifier of the Opportunity Item record this opportunity item asset relates to"
            },
            "stock_level_id": {
              "type": "number",
              "description": "The internal identifier of the Stock Level record this opportunity item asset relates to"
            },
            "supplier_id": {
              "type": [
                "number",
                "null"
              ],
              "description": "The internal identifier of the Member record this opportunity item asset relates to (only applicable for sub-rent bookings)"
            },
            "status": {
              "type": "number",
              "description": "The opportunity item asset status (Open = 0, Provisional = 1, Provisionally Allocated = 2, Reserved = 5, Allocated = 10, Prepared = 15, Confirmed = 15, Booked Out = 20, Part Checked In = 25, Checked In = 30, Completed = 40, Moved = 45, Cancelled = 50, Postponed = 80)"
            },
            "quantity": {
              "type": "string",
              "description": "The opportunity item asset quantity"
            },
            "quantity_allocated": {
              "type": "string",
              "description": "The opportunity item asset quantity allocated"
            },
            "quantity_returned": {
              "type": "string",
              "description": "The opportunity item asset quantity returned"
            },
            "quantity_sold": {
              "type": "string",
              "description": "The opportunity item asset quantity sold"
            },
            "container": {
              "type": "string",
              "description": "The opportunity item asset container"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Opportunity Item Asset record"
            },
            "stock_level_asset_number": {
              "type": "string",
              "description": "(Readonly) The stock level asset (barcode) number"
            },
            "stock_level_member_id": {
              "type": [
                "number",
                "null"
              ],
              "description": "(Readonly) The internal identifier of the Member record the service stock level relates to"
            },
            "stock_level_member_work_email_address": {
              "type": [
                "number",
                "null"
              ],
              "description": "(Readonly) The work email address of the Member record the service stock level relates to"
            },
            "status_name": {
              "type": "string",
              "description": "(Readonly) The opportunity item asset status name"
            },
            "stock_level": {
              "type": "object",
              "properties": {
                "item_id": {
                  "type": "number",
                  "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
                },
                "store_id": {
                  "type": "number",
                  "description": "The internal identifier of the Store record this stock level relates to"
                },
                "member_id": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "The internal identifier of the Member record this stock level relates to (Services only)"
                },
                "asset_number": {
                  "type": "string",
                  "description": "The stock level asset (barcode) number"
                },
                "serial_number": {
                  "type": "string",
                  "description": "The stock level serial number"
                },
                "location": {
                  "type": "string",
                  "description": "The stock level location"
                },
                "stock_type": {
                  "type": "number",
                  "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
                },
                "stock_category": {
                  "type": "number",
                  "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
                },
                "quantity_held": {
                  "type": "string",
                  "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
                },
                "quantity_allocated": {
                  "type": "string",
                  "description": "The stock level quantity allocated (only applicable to sales stock)"
                },
                "quantity_unavailable": {
                  "type": "string",
                  "description": "unused"
                },
                "quantity_on_order": {
                  "type": "string",
                  "description": "unused"
                },
                "starts_at": {
                  "type": "string",
                  "description": "The service resource start date (only applicable to service stock)"
                },
                "ends_at": {
                  "type": "string",
                  "description": "The service resource end date (only applicable to service stock)"
                },
                "icon": {
                  "type": "object",
                  "properties": {
                    "iconable_id": {
                      "type": "number",
                      "description": "The internal identifier of the record this icon is related to"
                    },
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Icon record"
                    },
                    "image_file_name": {
                      "type": "string",
                      "description": "The image filename"
                    },
                    "url": {
                      "type": "string",
                      "description": "(Readonly) The full URL for the original size image"
                    },
                    "thumb_url": {
                      "type": "string",
                      "description": "The full URL for the thunbnail size image"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Icon was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Icon"
                    },
                    "iconable_type": {
                      "type": "string",
                      "description": "The type of record this icon is related to"
                    }
                  },
                  "description": "The Icon object for this stock level"
                },
                "custom_fields": {
                  "type": "object",
                  "properties": {},
                  "description": "A collection of custom field attributes"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Stock Level record"
                },
                "item_name": {
                  "type": "string",
                  "description": "(Readonly) The name of the Item (Product or Service)"
                },
                "store_name": {
                  "type": "string",
                  "description": "(Readonly) The name of the Store"
                },
                "stock_type_name": {
                  "type": "string",
                  "description": "(Readonly) The stock level stock type name"
                },
                "stock_category_name": {
                  "type": "string",
                  "description": "(Readonly) The stock level stock category name"
                },
                "container_stock_level_id": {
                  "type": "number",
                  "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
                },
                "container_mode": {
                  "type": "number",
                  "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
                }
              },
              "description": "(Readonly) The stock level record this opportunity item asset is related to"
            },
            "supplier": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The member's name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the member"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is the member record active?"
                },
                "bookable": {
                  "type": "boolean",
                  "description": "Is the member bookable via the Resource Planner?"
                },
                "location_type": {
                  "type": "number",
                  "description": "Resource location (0 = Internal, 1 = External)"
                },
                "locale": {
                  "type": "string",
                  "description": "The member's language locale"
                },
                "membership_type": {
                  "type": "string",
                  "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
                },
                "lawful_basis_type_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the lawful basis type"
                },
                "sale_tax_class_id": {
                  "type": "number",
                  "description": "The tax class record identifier for sales to an Organisation"
                },
                "purchase_tax_class_id": {
                  "type": "number",
                  "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
                },
                "tag_list": {
                  "type": "array",
                  "description": "An array of tags associated with the Member record"
                },
                "custom_fields": {
                  "type": "object",
                  "properties": {},
                  "description": "A collection of custom field attributes"
                },
                "membership": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the membership record"
                    },
                    "number": {
                      "type": "string",
                      "description": "The organisation's reference (account) number"
                    },
                    "tax_number": {
                      "type": "string",
                      "description": "The organisation's tax registration number"
                    },
                    "cash": {
                      "type": "boolean",
                      "description": "Is the organisation flagged as cash?"
                    },
                    "on_stop": {
                      "type": "boolean",
                      "description": "Is the organisation on stop?"
                    },
                    "rating": {
                      "type": "number",
                      "description": "The organisation rating (1-5)"
                    },
                    "owned_by": {
                      "type": "number",
                      "description": "The owner (Member) record identifier"
                    },
                    "price_category_id": {
                      "type": "number",
                      "description": "The internal identifier of the list_value record specifying the price category"
                    },
                    "discount_category_id": {
                      "type": "number",
                      "description": "The discount category record identifier"
                    },
                    "invoice_term": {
                      "type": "number",
                      "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                    },
                    "invoice_term_length": {
                      "type": "number",
                      "description": "Invoice term days"
                    }
                  },
                  "description": "The organisation member details"
                },
                "primary_address": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The address name"
                    },
                    "street": {
                      "type": "string",
                      "description": "The street address"
                    },
                    "postcode": {
                      "type": "string",
                      "description": "The postal/zip code"
                    },
                    "city": {
                      "type": "string",
                      "description": "The address city"
                    },
                    "county": {
                      "type": "string",
                      "description": "The address county/state"
                    },
                    "country_id": {
                      "type": "string",
                      "description": "The address country record identifier"
                    },
                    "country_name": {
                      "type": "string",
                      "description": "(Readonly) The address country name"
                    },
                    "type_id": {
                      "type": "number",
                      "description": "The address type record identifier (see ListValues)"
                    },
                    "address_type_name": {
                      "type": "string",
                      "description": "(Readonly) The address type name"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Address was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Address"
                    }
                  },
                  "description": "The Primary Address object for this member"
                },
                "emails": {
                  "type": "array",
                  "description": "An array of Email objects for this member"
                },
                "phones": {
                  "type": "array",
                  "description": "An array of Phone objects for this member"
                },
                "links": {
                  "type": "array",
                  "description": "An array of Link objects for this member"
                },
                "addresses": {
                  "type": "array",
                  "description": "An array of Address objects for this member (does not include Primary Address)"
                },
                "service_stock_levels": {
                  "type": "array",
                  "description": "An array of Stock Level objects for this member's assigned services"
                },
                "day_cost": {
                  "type": "string",
                  "description": "`100.00` (number) - The daily cost of a bookable resource"
                },
                "hour_cost": {
                  "type": "string",
                  "description": "`15.00` (number) - The hourly cost of a bookable resource"
                },
                "distance_cost": {
                  "type": "string",
                  "description": "`1.00` (number) - The distance cost of a bookable resource"
                },
                "flat_rate_cost": {
                  "type": "string",
                  "description": "`300.00` (number) - The flat rate cost of a bookable resource"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the member record"
                },
                "uuid": {
                  "type": "string",
                  "description": "(Readonly) The universally unique identifier of the member record"
                },
                "membership_id": {
                  "type": "number",
                  "description": "(Readonly) The internal identifier of the Member record's Membership record"
                },
                "lawful_basis_type_name": {
                  "type": "string",
                  "description": "(Readonly) The lawful basis type name"
                },
                "sale_tax_class_name": {
                  "type": "string",
                  "description": "(Readonly) The tax class name for sales to an Organisation"
                },
                "purchase_tax_class_name": {
                  "type": "string",
                  "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Member was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Member was last updated"
                },
                "icon": {
                  "type": "object",
                  "properties": {
                    "iconable_id": {
                      "type": "number",
                      "description": "The internal identifier of the record this icon is related to"
                    },
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Icon record"
                    },
                    "image_file_name": {
                      "type": "string",
                      "description": "The image filename"
                    },
                    "url": {
                      "type": "string",
                      "description": "(Readonly) The full URL for the original size image"
                    },
                    "thumb_url": {
                      "type": "string",
                      "description": "The full URL for the thunbnail size image"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Icon was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Icon"
                    },
                    "iconable_type": {
                      "type": "string",
                      "description": "The type of record this icon is related to"
                    }
                  },
                  "description": "The Icon object for this member"
                },
                "child_members": {
                  "type": "array",
                  "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
                },
                "parent_members": {
                  "type": "array",
                  "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
                }
              },
              "required": [
                "name",
                "membership_type"
              ],
              "description": "(Readonly) The Member organisation record this opportunity item asset is related to"
            },
            "has_shortage": {
              "type": "boolean",
              "description": "(Readonly) Does a shortage exist for the stock level?"
            },
            "sub_rent": {
              "type": "boolean",
              "description": "(Readonly) Is this opportunity item asset sub-rented?"
            },
            "opportunity_cost": {
              "type": "object",
              "properties": {},
              "description": "(Readonly) The Opportunity Cost record for this opportunity item asset"
            }
          },
          "description": "(Readonly) The Opportunity Item Asset associated with a non-manual opportunity cost"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity cost was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity cost"
        }
      }
    }
  }
}

Opportunity Items

An Opportunity Item represents a product or service that is part of an Opportunity

Opportunity Item

Retrieve an Opportunity Item
GET/opportunities/{opportunity_id}/opportunity_items/{id}
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/opportunity_items/1
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

id (number, required)1

The ID of the desired opportunity item

include[] (string, optional)item

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; item, item_assets, rate_definition and item_surcharges.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_item": {
    "opportunity_id": 1,
    "item_id": 151,
    "item_type": "Product",
    "opportunity_item_type": 1,
    "name": "Cineroid Compact LED Light",
    "transaction_type": 1,
    "accessory_inclusion_type": 0,
    "accessory_mode": 0,
    "quantity": 1,
    "revenue_group_id": null,
    "rate_definition_id": 5,
    "service_rate_type": 0,
    "price": "60.0",
    "discount_percent": "10.0",
    "starts_at": "2015-07-10T09:00:00.000Z",
    "ends_at": "2015-07-10T09:00:00.000Z",
    "use_chargeable_days": true,
    "chargeable_days": "1.0",
    "sub_rent": false,
    "description": "",
    "replacement_charge": "0.0",
    "weight": "0.0",
    "custom_fields": {},
    "id": 1,
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "opportunity_item_type_name": "Principal",
    "transaction_type_name": "Rental",
    "accessory_inclusion_type_name": 0,
    "accessory_mode_name": 0,
    "status": 5,
    "status_name": "Reserved",
    "service_rate_type_name": "",
    "path": "0003",
    "rental_charge_total": "0.0",
    "sale_charge_total": "0.0",
    "service_charge_total": "0.0",
    "surcharge_total": "0.0",
    "tax_total": "180.0",
    "original_rental_charge_total": "0.0",
    "original_sale_charge_total": "0.0",
    "original_service_charge_total": "0.0",
    "original_surcharge_total": "0.0",
    "original_tax_total": "180.0",
    "replacement_charge_total": "0.0",
    "weight_total": "",
    "unit_base_charge": "100.0",
    "unit_charge": "90.0",
    "charge_amount": "900.0",
    "taxable_charge_amount": "900.0",
    "tax_amount": "180.0",
    "surcharge_amount": "0.0",
    "surcharge_tax_amount": "0.0",
    "charging_periods": [
      {
        "key": "week",
        "name": "Week",
        "lead": true,
        "percent": "100",
        "price": "810.0",
        "order": 1,
        "initial": true,
        "count": 3
      }
    ],
    "charge_total": "900.0",
    "charge_total_including_children": "900.0",
    "weight_total_including_children": "0.0",
    "replacement_charge_total_including_children": "0.0",
    "lead_charging_period": {
      "key": "week",
      "name": "Week",
      "lead": true,
      "percent": "100",
      "price": "810.0",
      "order": 1,
      "initial": true,
      "count": 3
    },
    "lead_charging_period_name": "Weekly",
    "has_shortage": false,
    "has_group_deal": false,
    "is_in_deal": false
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_item": {
      "type": "object",
      "properties": {
        "opportunity_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity record this opportunity item relates to"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this opportunity item relates to"
        },
        "item_type": {
          "type": "string",
          "description": "The item type (Product, Service or TextItem) - required unless opportunity_item_type is 0 (Group)"
        },
        "opportunity_item_type": {
          "type": "number",
          "description": "The item type (0 = Group, 1 = Principal, 2 = Accessory)"
        },
        "name": {
          "type": "string",
          "description": "The name of the opportunity item or group (Readonly unless opportunity_item_type is 0 (Group))"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Rental, 2 = Sale, 3 = Service)"
        },
        "accessory_inclusion_type": {
          "type": "number",
          "description": "The accessory inclusion type (0 = Default, 1 = Mandatory, 2 = Optional, 99 = Manual)"
        },
        "accessory_mode": {
          "type": "number",
          "description": "The accessory mode (0 = Accessory, 1 = Safety, 2 = Component)"
        },
        "quantity": {
          "type": "number",
          "description": "The quantity of the opportunity item"
        },
        "revenue_group_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Revenue Group record associated with this opportunity item (only applicable when item_type = 'TextItem')"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record associated with this opportunity item"
        },
        "service_rate_type": {
          "type": "number",
          "description": "The service rate type (Day = 1, Hour = 2, Distance = 3, Flat_Rate = 4) only applicable when transaction_type = 'Service'"
        },
        "price": {
          "type": "string",
          "description": "The un-discounted unit price for this opportunity item"
        },
        "discount_percent": {
          "type": "string",
          "description": "The discount percentage for this opportunity item"
        },
        "starts_at": {
          "type": "string",
          "description": "The UTC start date/time for this opportunity item (Readonly unless item_type is 'Service')"
        },
        "ends_at": {
          "type": "string",
          "description": "The UTC end date/time for this opportunity item (Readonly unless item_type is 'Service')"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override chargeable days calculation?"
        },
        "chargeable_days": {
          "type": "string",
          "description": "The number of chargeable day for this opportunity item (Readonly unless use_rechargeable_days is true)"
        },
        "sub_rent": {
          "type": "boolean",
          "description": "Will this item be sub-rented?"
        },
        "description": {
          "type": "string",
          "description": "The long description of this opportunity item"
        },
        "replacement_charge": {
          "type": "string",
          "description": "The replacement charge amount (Readonly unless item_type is 'TextItem')"
        },
        "weight": {
          "type": "string",
          "description": "The opportunity item unit weight (Readonly unless item_type is 'TextItem')"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Opportunity Item record"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the opportunity item was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the opportunity item"
        },
        "opportunity_item_type_name": {
          "type": "string",
          "description": "(Readonly) The item type name"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "accessory_inclusion_type_name": {
          "type": "number",
          "description": "(Readonly) The accessory inclusion type name"
        },
        "accessory_mode_name": {
          "type": "number",
          "description": "(Readonly) The accessory mode name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The opportunity item's status (Open = 0, Provisional = 1, Provisionally Allocated = 2, Reserved = 5, Allocated = 10, Prepared = 15, Confirmed = 15, Booked Out = 20, Part Checked In = 25, Checked In = 30, Mixed = 35, Completed = 40, Moved = 45, Cancelled = 50, Lost = 60, Dead = 70, Postponed = 80)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity item status name"
        },
        "service_rate_type_name": {
          "type": "string",
          "description": "(Readonly) The service rate type name"
        },
        "path": {
          "type": "string",
          "description": "(Readonly) The path (hierarchy) of this opportunity item"
        },
        "rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity item tax total"
        },
        "original_rental_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of rental charges before any group deal is applied (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "original_sale_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of sale charges before any group deal is applied (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "original_service_charge_total": {
          "type": "string",
          "description": "(Readonly) The total of service charges before any group deal is applied (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "original_surcharge_total": {
          "type": "string",
          "description": "(Readonly) The total of surcharge charges before any group deal is applied (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "original_tax_total": {
          "type": "string",
          "description": "(Readonly) The opportunity item tax total before any group deal is applied"
        },
        "replacement_charge_total": {
          "type": "string",
          "description": "(Readonly) The total rental product replacement charges"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total product weight"
        },
        "unit_base_charge": {
          "type": "string",
          "description": "(Readonly) The opportunity item unit charge amount without discount"
        },
        "unit_charge": {
          "type": "string",
          "description": "(Readonly) The opportunity item unit charge amount with discount"
        },
        "charge_amount": {
          "type": "string",
          "description": "(Readonly) The opportunity item line total (with discount applied)"
        },
        "taxable_charge_amount": {
          "type": "string",
          "description": "(Readonly) The opportunity item charge amount that is subject to tax"
        },
        "tax_amount": {
          "type": "string",
          "description": "(Readonly) The opportunity item tax amount"
        },
        "surcharge_amount": {
          "type": "string",
          "description": "(Readonly) The opportunity item surcharge amount"
        },
        "surcharge_tax_amount": {
          "type": "string",
          "description": "(Readonly) The opportunity item surcharge tax amount"
        },
        "charging_periods": {
          "type": "array",
          "description": "(Readonly) A charging period object containing the breakdown of how the rental or service charge was calculated"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The discounted charge total for this opportunity item (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "charge_total_including_children": {
          "type": "string",
          "description": "(Readonly) The discounted charge total for this opportunity item and its child records (this total may include or exclude tax - see prices_include_tax flag on the Opportunity record)"
        },
        "weight_total_including_children": {
          "type": "string",
          "description": "(Readonly) The weight total for this opportunity item and its child records"
        },
        "replacement_charge_total_including_children": {
          "type": "string",
          "description": "(Readonly) The replacement charge total for this opportunity item and its child records"
        },
        "lead_charging_period": {
          "type": "object",
          "properties": {
            "key": {
              "type": "string",
              "description": "(Readonly) The charge period key"
            },
            "name": {
              "type": "string",
              "description": "(Readonly) The charge period name"
            },
            "lead": {
              "type": "boolean",
              "description": "(Readonly) flag to indicate if this charge period is associated with the lead rate (the price attribute on an invoice or opportunity)"
            },
            "percent": {
              "type": "string",
              "description": "(Readonly) The percentage of the lead rate used to calculate this charge period"
            },
            "price": {
              "type": "string",
              "description": "(Readonly) The price used to calculate this charge period"
            },
            "order": {
              "type": "number",
              "description": "(Readonly) The order in which this charge period was evaluated"
            },
            "initial": {
              "type": "boolean",
              "description": "(Readonly) ????"
            },
            "count": {
              "type": "number",
              "description": "(Readonly) The quantity of periods (as defined by key) for this charge period"
            }
          },
          "description": "(Readonly) The lead charging period for this opportunity item (if transaction_type is 1 (Rental))"
        },
        "lead_charging_period_name": {
          "type": "string",
          "description": "(Readonly) The lead charging period name for this opportunity item (if transaction_type is 1 (Rental))"
        },
        "has_shortage": {
          "type": "boolean",
          "description": "(Readonly) Does a shortage exist for the product or service or one of the opportunity item asset stock levels?"
        },
        "has_group_deal": {
          "type": "boolean",
          "description": "(Readonly) Has a deal price been set on the (group) opportunity item? If true the charge_total value will be equal to the deal price, the charge total values (rental_charge_total etc.) will contain a proportion based on the deal price and the 'original' total values will contain the charge totals before the deal price was set"
        },
        "is_in_deal": {
          "type": "boolean",
          "description": "(Readonly) Is a deal price in force on the opportunity or a parent group of the opportunity item?"
        }
      }
    }
  }
}
Delete an Opportunity Item
DELETE/opportunities/{opportunity_id}/opportunity_items/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/opportunities/1/opportunity_items/1
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

id (number, required)1

The ID of the desired opportunity item

Response  204

Opportunity Items

List Opportunity Items
GET/opportunities/{opportunity_id}/opportunity_items
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/opportunity_items
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

include[] (string, optional)item

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; item, item_assets, rate_definition and item_surcharges.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_items": [
    {
      "opportunity_id": 1,
      "item_id": 151,
      "item_type": "Product",
      "opportunity_item_type": 1,
      "name": "Cineroid Compact LED Light",
      "transaction_type": 1,
      "accessory_inclusion_type": 0,
      "accessory_mode": 0,
      "quantity": 1,
      "revenue_group_id": null,
      "rate_definition_id": 5,
      "service_rate_type": 0,
      "price": "60.0",
      "discount_percent": "10.0",
      "starts_at": "2015-07-10T09:00:00.000Z",
      "ends_at": "2015-07-10T09:00:00.000Z",
      "use_chargeable_days": true,
      "chargeable_days": "1.0",
      "sub_rent": false,
      "description": "",
      "replacement_charge": "0.0",
      "weight": "0.0",
      "custom_fields": {},
      "id": 1,
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "opportunity_item_type_name": "Principal",
      "transaction_type_name": "Rental",
      "accessory_inclusion_type_name": 0,
      "accessory_mode_name": 0,
      "status": 5,
      "status_name": "Reserved",
      "service_rate_type_name": "",
      "path": "0003",
      "rental_charge_total": "0.0",
      "sale_charge_total": "0.0",
      "service_charge_total": "0.0",
      "surcharge_total": "0.0",
      "tax_total": "180.0",
      "original_rental_charge_total": "0.0",
      "original_sale_charge_total": "0.0",
      "original_service_charge_total": "0.0",
      "original_surcharge_total": "0.0",
      "original_tax_total": "180.0",
      "replacement_charge_total": "0.0",
      "weight_total": "",
      "unit_base_charge": "100.0",
      "unit_charge": "90.0",
      "charge_amount": "900.0",
      "taxable_charge_amount": "900.0",
      "tax_amount": "180.0",
      "surcharge_amount": "0.0",
      "surcharge_tax_amount": "0.0",
      "charging_periods": [
        {
          "key": "week",
          "name": "Week",
          "lead": true,
          "percent": "100",
          "price": "810.0",
          "order": 1,
          "initial": true,
          "count": 3
        }
      ],
      "charge_total": "900.0",
      "charge_total_including_children": "900.0",
      "weight_total_including_children": "0.0",
      "replacement_charge_total_including_children": "0.0",
      "lead_charging_period": {
        "key": "week",
        "name": "Week",
        "lead": true,
        "percent": "100",
        "price": "810.0",
        "order": 1,
        "initial": true,
        "count": 3
      },
      "lead_charging_period_name": "Weekly",
      "has_shortage": false,
      "has_group_deal": false,
      "is_in_deal": false
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_items": {
      "type": "array"
    }
  }
}

Opportunity items filtering examples

Opportunity items with an asset with a container
GET/opportunities]/opportunity_items
/api/v1/opportunities/51/opportunity_items?q[item_assets_container_present]=1
Example URI
GET https://api.current-rms.com/api/v1/opportunities]/opportunity_items
Opportunity items for a given member
GET/opportunities]/opportunity_items
/api/v1/opportunities/51/opportunity_items?q[item_assets_stock_level_member_id_eq]=7
Example URI
GET https://api.current-rms.com/api/v1/opportunities]/opportunity_items

Opportunity Item - Allocate Resource

The Opportunity Item Allocate Resource method will allocate the resource identified in stock_level_id to the opportunity item specified.

Allocate Resource to Opportunity Item
POST/opportunities/{opportunity_id}/opportunity_items/{id}/allocate_resource
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/opportunity_items/1/allocate_resource
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

id (number, required)1

The ID of the desired opportunity item

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level_id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level_id": {
      "type": "number",
      "description": "The stock_level_id of the resource to allocate"
    }
  },
  "required": [
    "stock_level_id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    }
  }
}

Opportunity Item - Deallocate Resource

The Opportunity Item Deallocate Resource method will deallocate the resource identified in stock_level_id from the opportunity item specified.

Deallocate Resource from Opportunity Item
POST/opportunities/{opportunity_id}/opportunity_items/{id}/deallocate_resource
Example URI
POST https://api.current-rms.com/api/v1/opportunities/1/opportunity_items/1/deallocate_resource
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

id (number, required)1

The ID of the desired opportunity item

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level_id": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level_id": {
      "type": "number",
      "description": "The stock_level_id of the resource to deallocate"
    }
  },
  "required": [
    "stock_level_id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "result": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "result": {
      "type": "boolean",
      "description": "Whether action was successful or not."
    }
  }
}

Opportunity Item Assets

An Opportunity Item Asset represents a stock allocation for an Opportunity Item

Opportunity Item Asset

Retrieve an Opportunity Item Asset
GET/opportunities/{opportunity_id}/opportunity_items/{opportunity_item_id}/opportunity_item_assets/{id}
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/opportunity_items/1/opportunity_item_assets/1
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

opportunity_item_id (number, required)1

The ID of the desired opportunity item

id (number, required)1

The ID of the desired opportunity item asset

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_item_asset": {
    "opportunity_item_id": 526,
    "stock_level_id": 279,
    "supplier_id": null,
    "status": 15,
    "quantity": "1.0",
    "quantity_allocated": "0.0",
    "quantity_returned": "0.0",
    "quantity_sold": "0.0",
    "container": "",
    "id": 1,
    "stock_level_asset_number": "751-4-45-994617-4",
    "stock_level_member_id": 1,
    "stock_level_member_work_email_address": null,
    "status_name": "Prepared",
    "stock_level": {
      "item_id": 10,
      "store_id": 1,
      "member_id": null,
      "asset_number": "751-4-45-994617-4",
      "serial_number": "BN45Z3JUTY1ALH6",
      "location": "KQ34",
      "stock_type": 1,
      "stock_category": 50,
      "quantity_held": "1.0",
      "quantity_allocated": "0.0",
      "quantity_unavailable": "0.0",
      "quantity_on_order": "0.0",
      "starts_at": "",
      "ends_at": "",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "StockLevel"
      },
      "custom_fields": {},
      "id": 279,
      "item_name": "Canon C300 (PL)",
      "store_name": "Nottingham",
      "stock_type_name": "Rental",
      "stock_category_name": "Bulk Stock",
      "container_stock_level_id": 112,
      "container_mode": 1
    },
    "supplier": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "has_shortage": false,
    "sub_rent": false,
    "opportunity_cost": {
      "opportunity_id": 1,
      "opportunity_item_asset_id": 1,
      "cost_date": "2015-06-29",
      "subject": "Transport Costs",
      "description": "",
      "reference": "",
      "cost_group_id": 11002,
      "provisional_cost": "123.45",
      "actual_cost": "143.45",
      "member_id": 32,
      "supplier_reference": "",
      "rate_definition_id": 5,
      "service_rate_type": 0,
      "starts_at": "2015-06-29",
      "ends_at": "2015-06-29",
      "use_chargeable_days": true,
      "chargeable_days": "1.0",
      "id": 1,
      "cost_group_name": "Fax",
      "member": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "service_rate_type_name": "",
      "charging_periods": [
        {
          "key": "week",
          "name": "Week",
          "lead": true,
          "percent": "100",
          "price": "810.0",
          "order": 1,
          "initial": true,
          "count": 3
        }
      ],
      "unit_base_charge": "100.0",
      "is_manual_cost": false,
      "rate_definition": {
        "id": 1,
        "rate_engine_id": 7,
        "name": "3 Day Week Rate",
        "config": {},
        "rate_engine": {
          "id": 1,
          "name": "Daily Multiplier and Factor Rate Engine",
          "description": "",
          "lead_charge_period": "period",
          "config": {},
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        },
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "opportunity_item_asset": {},
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_item_asset": {
      "type": "object",
      "properties": {
        "opportunity_item_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity Item record this opportunity item asset relates to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this opportunity item asset relates to"
        },
        "supplier_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record this opportunity item asset relates to (only applicable for sub-rent bookings)"
        },
        "status": {
          "type": "number",
          "description": "The opportunity item asset status (Open = 0, Provisional = 1, Provisionally Allocated = 2, Reserved = 5, Allocated = 10, Prepared = 15, Confirmed = 15, Booked Out = 20, Part Checked In = 25, Checked In = 30, Completed = 40, Moved = 45, Cancelled = 50, Postponed = 80)"
        },
        "quantity": {
          "type": "string",
          "description": "The opportunity item asset quantity"
        },
        "quantity_allocated": {
          "type": "string",
          "description": "The opportunity item asset quantity allocated"
        },
        "quantity_returned": {
          "type": "string",
          "description": "The opportunity item asset quantity returned"
        },
        "quantity_sold": {
          "type": "string",
          "description": "The opportunity item asset quantity sold"
        },
        "container": {
          "type": "string",
          "description": "The opportunity item asset container"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Opportunity Item Asset record"
        },
        "stock_level_asset_number": {
          "type": "string",
          "description": "(Readonly) The stock level asset (barcode) number"
        },
        "stock_level_member_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the Member record the service stock level relates to"
        },
        "stock_level_member_work_email_address": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The work email address of the Member record the service stock level relates to"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The opportunity item asset status name"
        },
        "stock_level": {
          "type": "object",
          "properties": {
            "item_id": {
              "type": "number",
              "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
            },
            "store_id": {
              "type": "number",
              "description": "The internal identifier of the Store record this stock level relates to"
            },
            "member_id": {
              "type": [
                "number",
                "null"
              ],
              "description": "The internal identifier of the Member record this stock level relates to (Services only)"
            },
            "asset_number": {
              "type": "string",
              "description": "The stock level asset (barcode) number"
            },
            "serial_number": {
              "type": "string",
              "description": "The stock level serial number"
            },
            "location": {
              "type": "string",
              "description": "The stock level location"
            },
            "stock_type": {
              "type": "number",
              "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
            },
            "stock_category": {
              "type": "number",
              "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
            },
            "quantity_held": {
              "type": "string",
              "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
            },
            "quantity_allocated": {
              "type": "string",
              "description": "The stock level quantity allocated (only applicable to sales stock)"
            },
            "quantity_unavailable": {
              "type": "string",
              "description": "unused"
            },
            "quantity_on_order": {
              "type": "string",
              "description": "unused"
            },
            "starts_at": {
              "type": "string",
              "description": "The service resource start date (only applicable to service stock)"
            },
            "ends_at": {
              "type": "string",
              "description": "The service resource end date (only applicable to service stock)"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this stock level"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Stock Level record"
            },
            "item_name": {
              "type": "string",
              "description": "(Readonly) The name of the Item (Product or Service)"
            },
            "store_name": {
              "type": "string",
              "description": "(Readonly) The name of the Store"
            },
            "stock_type_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock type name"
            },
            "stock_category_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock category name"
            },
            "container_stock_level_id": {
              "type": "number",
              "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
            },
            "container_mode": {
              "type": "number",
              "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
            }
          },
          "description": "(Readonly) The stock level record this opportunity item asset is related to"
        },
        "supplier": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member organisation record this opportunity item asset is related to"
        },
        "has_shortage": {
          "type": "boolean",
          "description": "(Readonly) Does a shortage exist for the stock level?"
        },
        "sub_rent": {
          "type": "boolean",
          "description": "(Readonly) Is this opportunity item asset sub-rented?"
        },
        "opportunity_cost": {
          "type": "object",
          "properties": {
            "opportunity_id": {
              "type": "number",
              "description": "The internal identifier of the Opportunity record this opportunity cost relates to"
            },
            "opportunity_item_asset_id": {
              "type": "number",
              "description": "The internal identifier of the Opportunity Item Asset record this opportunity cost relates to (null for manual costs)"
            },
            "cost_date": {
              "type": "string",
              "description": "The cost date of this opportunity cost"
            },
            "subject": {
              "type": "string",
              "description": "The subject or name of this cost"
            },
            "description": {
              "type": "string",
              "description": "The long description of this opportunity cost"
            },
            "reference": {
              "type": "string",
              "description": "A reference for this cost"
            },
            "cost_group_id": {
              "type": "number",
              "description": "The internal identifier of the cost group record specifying the group of the cost"
            },
            "provisional_cost": {
              "type": "string",
              "description": "The provisional cost"
            },
            "actual_cost": {
              "type": "string",
              "description": "The actual cost"
            },
            "member_id": {
              "type": "number",
              "description": "The internal identifier of the Member Organisation (supplier) record this opportunity cost is associated to"
            },
            "supplier_reference": {
              "type": "string",
              "description": "A supplier reference for this cost"
            },
            "rate_definition_id": {
              "type": "number",
              "description": "The internal identifier of the Rate Definition record associated with this opportunity cost"
            },
            "service_rate_type": {
              "type": "number",
              "description": "The service rate type (Day = 1, Hour = 2, Distance = 3, Flat_Rate = 4) only applicable when cost is related to a Service"
            },
            "starts_at": {
              "type": "string",
              "description": "The start date of this opportunity cost"
            },
            "ends_at": {
              "type": "string",
              "description": "The end date of this opportunity cost"
            },
            "use_chargeable_days": {
              "type": "boolean",
              "description": "Override chargeable days calculation?"
            },
            "chargeable_days": {
              "type": "string",
              "description": "The number of chargeable day for this opportunity cost (Readonly unless use_chargeable_days is true)"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Opportunity Cost record"
            },
            "cost_group_name": {
              "type": "string",
              "description": "(Readonly) The cost group name"
            },
            "member": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The member's name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the member"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is the member record active?"
                },
                "bookable": {
                  "type": "boolean",
                  "description": "Is the member bookable via the Resource Planner?"
                },
                "location_type": {
                  "type": "number",
                  "description": "Resource location (0 = Internal, 1 = External)"
                },
                "locale": {
                  "type": "string",
                  "description": "The member's language locale"
                },
                "membership_type": {
                  "type": "string",
                  "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
                },
                "lawful_basis_type_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the lawful basis type"
                },
                "sale_tax_class_id": {
                  "type": "number",
                  "description": "The tax class record identifier for sales to an Organisation"
                },
                "purchase_tax_class_id": {
                  "type": "number",
                  "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
                },
                "tag_list": {
                  "type": "array",
                  "description": "An array of tags associated with the Member record"
                },
                "custom_fields": {
                  "type": "object",
                  "properties": {},
                  "description": "A collection of custom field attributes"
                },
                "membership": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the membership record"
                    },
                    "number": {
                      "type": "string",
                      "description": "The organisation's reference (account) number"
                    },
                    "tax_number": {
                      "type": "string",
                      "description": "The organisation's tax registration number"
                    },
                    "cash": {
                      "type": "boolean",
                      "description": "Is the organisation flagged as cash?"
                    },
                    "on_stop": {
                      "type": "boolean",
                      "description": "Is the organisation on stop?"
                    },
                    "rating": {
                      "type": "number",
                      "description": "The organisation rating (1-5)"
                    },
                    "owned_by": {
                      "type": "number",
                      "description": "The owner (Member) record identifier"
                    },
                    "price_category_id": {
                      "type": "number",
                      "description": "The internal identifier of the list_value record specifying the price category"
                    },
                    "discount_category_id": {
                      "type": "number",
                      "description": "The discount category record identifier"
                    },
                    "invoice_term": {
                      "type": "number",
                      "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                    },
                    "invoice_term_length": {
                      "type": "number",
                      "description": "Invoice term days"
                    }
                  },
                  "description": "The organisation member details"
                },
                "primary_address": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "description": "The address name"
                    },
                    "street": {
                      "type": "string",
                      "description": "The street address"
                    },
                    "postcode": {
                      "type": "string",
                      "description": "The postal/zip code"
                    },
                    "city": {
                      "type": "string",
                      "description": "The address city"
                    },
                    "county": {
                      "type": "string",
                      "description": "The address county/state"
                    },
                    "country_id": {
                      "type": "string",
                      "description": "The address country record identifier"
                    },
                    "country_name": {
                      "type": "string",
                      "description": "(Readonly) The address country name"
                    },
                    "type_id": {
                      "type": "number",
                      "description": "The address type record identifier (see ListValues)"
                    },
                    "address_type_name": {
                      "type": "string",
                      "description": "(Readonly) The address type name"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Address was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Address"
                    }
                  },
                  "description": "The Primary Address object for this member"
                },
                "emails": {
                  "type": "array",
                  "description": "An array of Email objects for this member"
                },
                "phones": {
                  "type": "array",
                  "description": "An array of Phone objects for this member"
                },
                "links": {
                  "type": "array",
                  "description": "An array of Link objects for this member"
                },
                "addresses": {
                  "type": "array",
                  "description": "An array of Address objects for this member (does not include Primary Address)"
                },
                "service_stock_levels": {
                  "type": "array",
                  "description": "An array of Stock Level objects for this member's assigned services"
                },
                "day_cost": {
                  "type": "string",
                  "description": "`100.00` (number) - The daily cost of a bookable resource"
                },
                "hour_cost": {
                  "type": "string",
                  "description": "`15.00` (number) - The hourly cost of a bookable resource"
                },
                "distance_cost": {
                  "type": "string",
                  "description": "`1.00` (number) - The distance cost of a bookable resource"
                },
                "flat_rate_cost": {
                  "type": "string",
                  "description": "`300.00` (number) - The flat rate cost of a bookable resource"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the member record"
                },
                "uuid": {
                  "type": "string",
                  "description": "(Readonly) The universally unique identifier of the member record"
                },
                "membership_id": {
                  "type": "number",
                  "description": "(Readonly) The internal identifier of the Member record's Membership record"
                },
                "lawful_basis_type_name": {
                  "type": "string",
                  "description": "(Readonly) The lawful basis type name"
                },
                "sale_tax_class_name": {
                  "type": "string",
                  "description": "(Readonly) The tax class name for sales to an Organisation"
                },
                "purchase_tax_class_name": {
                  "type": "string",
                  "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Member was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Member was last updated"
                },
                "icon": {
                  "type": "object",
                  "properties": {
                    "iconable_id": {
                      "type": "number",
                      "description": "The internal identifier of the record this icon is related to"
                    },
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Icon record"
                    },
                    "image_file_name": {
                      "type": "string",
                      "description": "The image filename"
                    },
                    "url": {
                      "type": "string",
                      "description": "(Readonly) The full URL for the original size image"
                    },
                    "thumb_url": {
                      "type": "string",
                      "description": "The full URL for the thunbnail size image"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Icon was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Icon"
                    },
                    "iconable_type": {
                      "type": "string",
                      "description": "The type of record this icon is related to"
                    }
                  },
                  "description": "The Icon object for this member"
                },
                "child_members": {
                  "type": "array",
                  "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
                },
                "parent_members": {
                  "type": "array",
                  "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
                }
              },
              "required": [
                "name",
                "membership_type"
              ],
              "description": "(Readonly) The Member Organisation (supplier) record detail"
            },
            "service_rate_type_name": {
              "type": "string",
              "description": "(Readonly) The service rate type name"
            },
            "charging_periods": {
              "type": "array",
              "description": "(Readonly) A charging period object containing the breakdown of how the sub-rental or service cost was calculated"
            },
            "unit_base_charge": {
              "type": "string",
              "description": "(Readonly) The opportunity cost unit charge amount"
            },
            "is_manual_cost": {
              "type": "boolean",
              "description": "(Readonly) Is this a manual cost created by the user?"
            },
            "rate_definition": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Rate Definition record"
                },
                "rate_engine_id": {
                  "type": "number",
                  "description": "(Readonly) The internal identifier of the Rate Engine record this rate definition relates to"
                },
                "name": {
                  "type": "string",
                  "description": "(Readonly) The name of the Rate Definition"
                },
                "config": {
                  "type": "object",
                  "properties": {},
                  "description": "(Readonly) The config object for the Rate Definition"
                },
                "rate_engine": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Rate Engine record"
                    },
                    "name": {
                      "type": "string",
                      "description": "(Readonly) The name of the Rate Engine"
                    },
                    "description": {
                      "type": "string",
                      "description": "(Readonly) A longer description of the Rate Engine"
                    },
                    "lead_charge_period": {
                      "type": "string",
                      "description": "(Readonly) The name of the lead period for this Rate Engine"
                    },
                    "config": {
                      "type": "object",
                      "properties": {},
                      "description": "(Readonly) The config object for the Rate Engine"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "(Readonly) When the Rate Engine record was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "(Readonly) When the Rate Engine record was last updated"
                    }
                  },
                  "description": "The Rate Engine object for this Rate Definition"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Rate Definition record was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Rate Definition record was last updated"
                }
              },
              "description": "(Readonly) The Rate Definition associated with this opportunity cost"
            },
            "opportunity_item_asset": {
              "type": "object",
              "properties": {},
              "description": "(Readonly) The Opportunity Item Asset associated with a non-manual opportunity cost"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the opportunity cost was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the opportunity cost"
            }
          },
          "description": "(Readonly) The Opportunity Cost record for this opportunity item asset"
        }
      }
    }
  }
}

Opportunity Item Assets

List Opportunity Item Assets
GET/opportunities/{opportunity_id}/opportunity_items/{opportunity_item_id}/opportunity_item_assets
Example URI
GET https://api.current-rms.com/api/v1/opportunities/1/opportunity_items/1/opportunity_item_assets
Parameters
NameExampleDescription
opportunity_id (number, required)1

The ID of the desired opportunity

opportunity_item_id (number, required)1

The ID of the desired opportunity item

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_item_assets": [
    {
      "opportunity_item_id": 526,
      "stock_level_id": 279,
      "supplier_id": null,
      "status": 15,
      "quantity": "1.0",
      "quantity_allocated": "0.0",
      "quantity_returned": "0.0",
      "quantity_sold": "0.0",
      "container": "",
      "id": 1,
      "stock_level_asset_number": "751-4-45-994617-4",
      "stock_level_member_id": 1,
      "stock_level_member_work_email_address": null,
      "status_name": "Prepared",
      "stock_level": {
        "item_id": 10,
        "store_id": 1,
        "member_id": null,
        "asset_number": "751-4-45-994617-4",
        "serial_number": "BN45Z3JUTY1ALH6",
        "location": "KQ34",
        "stock_type": 1,
        "stock_category": 50,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 279,
        "item_name": "Canon C300 (PL)",
        "store_name": "Nottingham",
        "stock_type_name": "Rental",
        "stock_category_name": "Bulk Stock",
        "container_stock_level_id": 112,
        "container_mode": 1
      },
      "supplier": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "has_shortage": false,
      "sub_rent": false,
      "opportunity_cost": {
        "opportunity_id": 1,
        "opportunity_item_asset_id": 1,
        "cost_date": "2015-06-29",
        "subject": "Transport Costs",
        "description": "",
        "reference": "",
        "cost_group_id": 11002,
        "provisional_cost": "123.45",
        "actual_cost": "143.45",
        "member_id": 32,
        "supplier_reference": "",
        "rate_definition_id": 5,
        "service_rate_type": 0,
        "starts_at": "2015-06-29",
        "ends_at": "2015-06-29",
        "use_chargeable_days": true,
        "chargeable_days": "1.0",
        "id": 1,
        "cost_group_name": "Fax",
        "member": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1,
            "number": "ABC123",
            "tax_number": "T456789",
            "cash": false,
            "on_stop": false,
            "rating": 1,
            "owned_by": 1,
            "price_category_id": 1000015,
            "discount_category_id": 1,
            "invoice_term": 1,
            "invoice_term_length": 7
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "service_rate_type_name": "",
        "charging_periods": [
          {
            "key": "week",
            "name": "Week",
            "lead": true,
            "percent": "100",
            "price": "810.0",
            "order": 1,
            "initial": true,
            "count": 3
          }
        ],
        "unit_base_charge": "100.0",
        "is_manual_cost": false,
        "rate_definition": {
          "id": 1,
          "rate_engine_id": 7,
          "name": "3 Day Week Rate",
          "config": {},
          "rate_engine": {
            "id": 1,
            "name": "Daily Multiplier and Factor Rate Engine",
            "description": "",
            "lead_charge_period": "period",
            "config": {},
            "created_at": "2015-06-25T11:14:32.087Z",
            "updated_at": "2015-07-13T11:14:32.095Z"
          },
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        },
        "opportunity_item_asset": {},
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_item_assets": {
      "type": "array"
    }
  }
}

Opportunity Documents

An Opportunity Document record describes a document snapshot captured when a document layout was previewed. Opportunity Document records are read-only.

Opportunity Document

Retrieve an Opportunity Document
GET/opportunity_documents/{id}
Example URI
GET https://api.current-rms.com/api/v1/opportunity_documents/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Opportunity Document

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_document": {
    "opportunity_id": 1,
    "document_id": 1,
    "data": {
      "header": "<div><p>Header dummy html</p></div>",
      "body": "<div><p>Body dummy html</p></div>",
      "footer": "<div><p>Footer dummy html</p></div>",
      "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
    },
    "status": 1,
    "approved_declined_at": "2017-06-29T10:00:00.000Z",
    "view_count": 1,
    "last_view_at": "2017-06-29T10:00:00.000Z",
    "comment": "Hello, world!",
    "signed_by": "Fred Customer",
    "signature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg......",
    "remote_ip": "143.12.18.125",
    "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36",
    "uuid": "590e1be0-4ffb-0225-b0bf-0f8ca217e64b",
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_document": {
      "type": "object",
      "properties": {
        "opportunity_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity record this Opportunity Document relates to"
        },
        "document_id": {
          "type": "number",
          "description": "The internal identifier of the Document record this Opportunity Document relates to"
        },
        "data": {
          "type": "object",
          "properties": {
            "header": {
              "type": "string",
              "description": "The HTML for the header section"
            },
            "body": {
              "type": "string",
              "description": "The HTML for the body section"
            },
            "footer": {
              "type": "string",
              "description": "The HTML for the footer section"
            },
            "stylesheet": {
              "type": "string",
              "description": "The CSS stylesheet for the document"
            }
          },
          "description": "The HTML and CSS of this Opportunity Document"
        },
        "status": {
          "type": "number",
          "description": "The approval status (0=Open,1=Accepted,2=Declined)"
        },
        "approved_declined_at": {
          "type": "string",
          "description": "The date & time when the Opportunity Document was accepted or declined"
        },
        "view_count": {
          "type": "number",
          "description": "The number of times this document has been viewed externally (does not count views by Current RMS users)"
        },
        "last_view_at": {
          "type": "string",
          "description": "The date & time when the document was last viewed externally"
        },
        "comment": {
          "type": "string",
          "description": "The comment left when the document was declined"
        },
        "signed_by": {
          "type": "string",
          "description": "The printed name of the person signing the document during document approval"
        },
        "signature": {
          "type": "string",
          "description": "A base 64 encoded PNG image of the signature provided during document approval"
        },
        "remote_ip": {
          "type": "string",
          "description": "The public IP address of the device used during document approval"
        },
        "user_agent": {
          "type": "string",
          "description": "The user agent string of the device used during document approval"
        },
        "uuid": {
          "type": "string",
          "description": "The unique identifier of this document (used within the document approval URL - e.g. https://yourdomain.current-rms.com/view_document/590e1be0-4ffb-0225-b0bf-0f8ca217e64b)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Opportunity Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Opportunity Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Opportunity Document record"
        }
      }
    }
  }
}

Opportunity Document PDF

Retrieve an Opportunity Document PDF
GET/opportunity_documents/{id}.pdf
Example URI
GET https://api.current-rms.com/api/v1/opportunity_documents/1.pdf
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Opportunity Document

Response  200
HideShow
Headers
Content-Type: application/pdf

Opportunity Documents

List Opportunity Documents
GET/opportunity_documents{?page,per_page,opportunity_id}
Example URI
GET https://api.current-rms.com/api/v1/opportunity_documents?page=1&per_page=20&opportunity_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

opportunity_id (number, optional)1

The internal identifier of an Opportunity record

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "opportunity_documents": [
    {
      "opportunity_id": 1,
      "document_id": 1,
      "data": {
        "header": "<div><p>Header dummy html</p></div>",
        "body": "<div><p>Body dummy html</p></div>",
        "footer": "<div><p>Footer dummy html</p></div>",
        "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
      },
      "status": 1,
      "approved_declined_at": "2017-06-29T10:00:00.000Z",
      "view_count": 1,
      "last_view_at": "2017-06-29T10:00:00.000Z",
      "comment": "Hello, world!",
      "signed_by": "Fred Customer",
      "signature": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg......",
      "remote_ip": "143.12.18.125",
      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36",
      "uuid": "590e1be0-4ffb-0225-b0bf-0f8ca217e64b",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z",
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "opportunity_documents": {
      "type": "array"
    }
  }
}

Organisation Tax Classes

An Organisation Tax Class is used to determine taxation rules and rates for an organisation

Organisation Tax Class

Retrieve an Organisation Tax Class
GET/organisation_tax_classes/{id}
Example URI
GET https://api.current-rms.com/api/v1/organisation_tax_classes/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Organisation Tax Class

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "organisation_tax_class": {
    "name": "Example Tax Class",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "organisation_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Organisation Tax Class record"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Organisation Tax Class record"
        }
      }
    }
  }
}
Update an Organisation Tax Class
PUT/organisation_tax_classes/{id}
Example URI
PUT https://api.current-rms.com/api/v1/organisation_tax_classes/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Organisation Tax Class

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "organisation_tax_class": {
    "name": "Example Tax Class"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "organisation_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Organisation Tax Class record"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "organisation_tax_class": {
    "name": "Example Tax Class",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "organisation_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Organisation Tax Class record"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Organisation Tax Class record"
        }
      }
    }
  }
}
Delete an Organisation Tax Class
DELETE/organisation_tax_classes/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/organisation_tax_classes/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Organisation Tax Class

Response  204

Organisation Tax Classes

List Organisation Tax Classes
GET/organisation_tax_classes{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/organisation_tax_classes?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_cont] (string, optional, `search_text_here`) (string, required)

Search on name for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "organisation_tax_classes": [
    {
      "name": "Example Tax Class",
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "organisation_tax_classes": {
      "type": "array"
    }
  }
}
Create an Organisation Tax Class
POST/organisation_tax_classes
Example URI
POST https://api.current-rms.com/api/v1/organisation_tax_classes
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "organisation_tax_class": {
    "name": "Example Tax Class"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "organisation_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Organisation Tax Class record"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "organisation_tax_class": {
    "name": "Example Tax Class",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "organisation_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Organisation Tax Class record"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Organisation Tax Class record"
        }
      }
    }
  }
}

Product Groups

A Product Group is a grouping container for Products

Product Group

Retrieve a Product Group
GET/product_groups/{id}
Example URI
GET https://api.current-rms.com/api/v1/product_groups/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired product group

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_group": {
    "name": "Audio",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "custom_fields": {},
    "id": 1,
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "ProductGroup"
    },
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product Group"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product Group record"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product Group"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Product Group record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Product Group record was last updated"
        }
      }
    }
  }
}
Update a Product Group
PUT/product_groups/{id}
Example URI
PUT https://api.current-rms.com/api/v1/product_groups/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired product group

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "product_group": {
    "name": "Audio",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "custom_fields": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product Group"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_group": {
    "name": "Audio",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "custom_fields": {},
    "id": 1,
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "ProductGroup"
    },
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product Group"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product Group record"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product Group"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Product Group record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Product Group record was last updated"
        }
      }
    }
  }
}
Delete a Product Group
DELETE/product_groups/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/product_groups/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired product group

Response  204

Product Groups

List Product Groups
GET/product_groups{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/product_groups?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_description_cont] (string, optional, `search_text_here`) (string, required)

Search on name or description for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_groups": [
    {
      "name": "Audio",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "custom_fields": {},
      "id": 1,
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "ProductGroup"
      },
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_groups": {
      "type": "array"
    }
  }
}
Create a Product Group
POST/product_groups
Example URI
POST https://api.current-rms.com/api/v1/product_groups
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "product_group": {
    "name": "Audio",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "custom_fields": {},
    "icon": {
      "image": ""
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product Group"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this product group"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_group": {
    "name": "Audio",
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "custom_fields": {},
    "id": 1,
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "ProductGroup"
    },
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_group": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product group name"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product Group"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product Group record"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product Group"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Product Group record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Product Group record was last updated"
        }
      }
    }
  }
}

Products

A Product is a record defining a product that you rent or sell

Product

Retrieve a Product
GET/products/{id}
Example URI
GET https://api.current-rms.com/api/v1/products/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired product

include[] (string, optional)accessories

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; accessories, icon and product_group.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product": {
    "name": "Audio",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "allowed_stock_type": 0,
    "stock_method": 0,
    "buffer_percent": "0.0",
    "post_rent_unavailability": 0,
    "replacement_charge": "0.0",
    "weight": "0.0",
    "barcode": "",
    "active": true,
    "accessory_only": false,
    "discountable": true,
    "rental_rate": {},
    "sale_rate": {},
    "product_group_id": 6,
    "tax_class_id": 2,
    "rental_revenue_group_id": 1,
    "sale_revenue_group_id": 6,
    "sub_rental_cost_group_id": 1,
    "sub_rental_price": 100,
    "sub_rental_rate_definition_id": 1,
    "purchase_cost_group_id": 1,
    "purchase_price": 100,
    "assigned_inspection_ids": [
      1
    ],
    "country_of_origin_id": 1,
    "custom_fields": {},
    "id": 25,
    "allowed_stock_type_name": "All",
    "stock_method_name": "None",
    "product_group": {
      "name": "Audio",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "custom_fields": {},
      "id": 1,
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "ProductGroup"
      },
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "tax_class": {
      "name": "VAT Standard",
      "id": 1
    },
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Item"
    },
    "rental_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "sale_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "sub_rental_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "purchase_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "accessories": [
      {
        "related_id": 317,
        "related_type": "Item",
        "parent_transaction_type": 1,
        "item_transaction_type": 1,
        "inclusion_type": 1,
        "mode": 0,
        "quantity": "3.0",
        "zero_priced": false,
        "sort_order": 2,
        "id": 1,
        "relatable_id": 25,
        "relatable_type": "Item",
        "related_name": "REDMote",
        "related_icon_url": "",
        "related_icon_thumb_url": "",
        "type": "Accessory",
        "parent_transaction_type_name": "rent",
        "item_transaction_type_name": "rented",
        "inclusion_type_name": "mandatory",
        "mode_name": "accessory",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      }
    ],
    "alternative_products": [
      {
        "relatable_id": 25,
        "relatable_type": "Item",
        "related_id": 317,
        "related_type": "Item",
        "related_name": "RED One M-X",
        "related_icon_thumb_url": ""
      }
    ],
    "attachments": [
      {
        "attachable_id": 39,
        "name": "Site Plan",
        "description": "",
        "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
        "attachment_content_type": "image/png",
        "attachment_file_size": 46424,
        "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "attachable_type": "Item"
      }
    ],
    "product_surcharges": [
      {
        "surcharge_id": 2,
        "id": 1,
        "surcharge": {
          "surcharge_group_id": 1,
          "tax_class_id": 2,
          "revenue_group_id": 3,
          "name": "Comprehensive Insurance",
          "rate_type": 0,
          "rate": "20.0",
          "default": false,
          "id": 1,
          "surcharge_group_name": "Insurance",
          "rate_type_name": "Percent (After Discount)",
          "tax_class": {
            "name": "VAT Standard",
            "id": 1
          },
          "revenue_group": {
            "id": 1,
            "name": "Rental",
            "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
            "active": true
          }
        }
      }
    ],
    "rental_rates": [
      {
        "store_id": 1,
        "transaction_type": 1,
        "rate_definition_id": 5,
        "rate_definition_name": "Weeks and Days",
        "starts_at": "",
        "ends_at": "",
        "price": "20.0",
        "category_prices": [
          {
            "price": "100.00",
            "price_category_id": "1000015",
            "price_category_name": "A"
          }
        ],
        "id": 1,
        "store_name": "Nottingham",
        "transaction_type_name": "Rental"
      }
    ],
    "sale_rates": [
      {
        "store_id": 1,
        "transaction_type": 1,
        "rate_definition_id": 5,
        "rate_definition_name": "Weeks and Days",
        "starts_at": "",
        "ends_at": "",
        "price": "20.0",
        "category_prices": [
          {
            "price": "100.00",
            "price_category_id": "1000015",
            "price_category_name": "A"
          }
        ],
        "id": 1,
        "store_name": "Nottingham",
        "transaction_type_name": "Rental"
      }
    ],
    "item_inspections": [
      {
        "id": 1,
        "inspection_id": 1,
        "inspection_name": ""
      }
    ],
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product name"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Product record"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "stock_method": {
          "type": "number",
          "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
        },
        "buffer_percent": {
          "type": "string",
          "description": "The percentage of available stock that will generate low stock warnings in the availability views"
        },
        "post_rent_unavailability": {
          "type": "number",
          "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
        },
        "replacement_charge": {
          "type": "string",
          "description": "The replacement value/charge of this product"
        },
        "weight": {
          "type": "string",
          "description": "The weight of this product"
        },
        "barcode": {
          "type": "string",
          "description": "The barcode of this product (only applicable to bulk and non stock products only)"
        },
        "active": {
          "type": "boolean",
          "description": "Is this product active? Inactive products are hidden from views by default."
        },
        "accessory_only": {
          "type": "boolean",
          "description": "Can this product only be used as an accessory?"
        },
        "discountable": {
          "type": "boolean",
          "description": "Can a discount be applied to this product?"
        },
        "rental_rate": {
          "type": "object",
          "properties": {},
          "description": "The current rental rate for this product"
        },
        "sale_rate": {
          "type": "object",
          "properties": {},
          "description": "The current sale rate for this product"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this product relates to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this product relates to"
        },
        "rental_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
        },
        "sale_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
        },
        "sub_rental_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
        },
        "sub_rental_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is sub-rented"
        },
        "sub_rental_rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
        },
        "purchase_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
        },
        "purchase_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is purchased"
        },
        "assigned_inspection_ids": {
          "type": "array",
          "description": "An array of inspection IDs selected for this product"
        },
        "country_of_origin_id": {
          "type": "number",
          "description": "The country of origin record identifier"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product record"
        },
        "allowed_stock_type_name": {
          "type": "string",
          "description": "(Readonly) The allowed stock type name"
        },
        "stock_method_name": {
          "type": "string",
          "description": "(Readonly) The stock method name"
        },
        "product_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The product group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Product Group"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Product Group record"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this Product Group"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Product Group record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Product Group record was last updated"
            }
          }
        },
        "tax_class": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Tax Class name"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Tax Class record"
            }
          },
          "description": "The Tax Class object for this product"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product"
        },
        "rental_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this product"
        },
        "sale_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this product"
        },
        "sub_rental_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The sub-rental Cost Group object for this product"
        },
        "purchase_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The purchase Cost Group object for this product"
        },
        "accessories": {
          "type": "array",
          "description": "An array of accessories for this product"
        },
        "alternative_products": {
          "type": "array",
          "description": "An array of alternative products for this product"
        },
        "attachments": {
          "type": "array",
          "description": "An array of attachments for this product"
        },
        "product_surcharges": {
          "type": "array",
          "description": "An array of product surcharges for this product"
        },
        "rental_rates": {
          "type": "array",
          "description": "An array of rental rates for this product"
        },
        "sale_rates": {
          "type": "array",
          "description": "An array of sale rates for this product"
        },
        "item_inspections": {
          "type": "array",
          "description": "(Readonly) An array of inspections selected for this product"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Product record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Product record was last updated"
        }
      }
    }
  }
}
Update a Product
PUT/products/{id}
Example URI
PUT https://api.current-rms.com/api/v1/products/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired product

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "product": {
    "name": "Audio",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "allowed_stock_type": 0,
    "stock_method": 0,
    "buffer_percent": "0.0",
    "post_rent_unavailability": 0,
    "replacement_charge": "0.0",
    "weight": "0.0",
    "barcode": "",
    "active": true,
    "accessory_only": false,
    "discountable": true,
    "rental_rate": {},
    "sale_rate": {},
    "product_group_id": 6,
    "tax_class_id": 2,
    "rental_revenue_group_id": 1,
    "sale_revenue_group_id": 6,
    "sub_rental_cost_group_id": 1,
    "sub_rental_price": 100,
    "sub_rental_rate_definition_id": 1,
    "purchase_cost_group_id": 1,
    "purchase_price": 100,
    "assigned_inspection_ids": [
      1
    ],
    "country_of_origin_id": 1,
    "custom_fields": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product name"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Product record"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "stock_method": {
          "type": "number",
          "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
        },
        "buffer_percent": {
          "type": "string",
          "description": "The percentage of available stock that will generate low stock warnings in the availability views"
        },
        "post_rent_unavailability": {
          "type": "number",
          "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
        },
        "replacement_charge": {
          "type": "string",
          "description": "The replacement value/charge of this product"
        },
        "weight": {
          "type": "string",
          "description": "The weight of this product"
        },
        "barcode": {
          "type": "string",
          "description": "The barcode of this product (only applicable to bulk and non stock products only)"
        },
        "active": {
          "type": "boolean",
          "description": "Is this product active? Inactive products are hidden from views by default."
        },
        "accessory_only": {
          "type": "boolean",
          "description": "Can this product only be used as an accessory?"
        },
        "discountable": {
          "type": "boolean",
          "description": "Can a discount be applied to this product?"
        },
        "rental_rate": {
          "type": "object",
          "properties": {},
          "description": "The current rental rate for this product"
        },
        "sale_rate": {
          "type": "object",
          "properties": {},
          "description": "The current sale rate for this product"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this product relates to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this product relates to"
        },
        "rental_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
        },
        "sale_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
        },
        "sub_rental_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
        },
        "sub_rental_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is sub-rented"
        },
        "sub_rental_rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
        },
        "purchase_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
        },
        "purchase_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is purchased"
        },
        "assigned_inspection_ids": {
          "type": "array",
          "description": "An array of inspection IDs selected for this product"
        },
        "country_of_origin_id": {
          "type": "number",
          "description": "The country of origin record identifier"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product": {
    "name": "Audio",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "allowed_stock_type": 0,
    "stock_method": 0,
    "buffer_percent": "0.0",
    "post_rent_unavailability": 0,
    "replacement_charge": "0.0",
    "weight": "0.0",
    "barcode": "",
    "active": true,
    "accessory_only": false,
    "discountable": true,
    "rental_rate": {},
    "sale_rate": {},
    "product_group_id": 6,
    "tax_class_id": 2,
    "rental_revenue_group_id": 1,
    "sale_revenue_group_id": 6,
    "sub_rental_cost_group_id": 1,
    "sub_rental_price": 100,
    "sub_rental_rate_definition_id": 1,
    "purchase_cost_group_id": 1,
    "purchase_price": 100,
    "assigned_inspection_ids": [
      1
    ],
    "country_of_origin_id": 1,
    "custom_fields": {},
    "id": 25,
    "allowed_stock_type_name": "All",
    "stock_method_name": "None",
    "product_group": {
      "name": "Audio",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "custom_fields": {},
      "id": 1,
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "ProductGroup"
      },
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "tax_class": {
      "name": "VAT Standard",
      "id": 1
    },
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Item"
    },
    "rental_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "sale_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "sub_rental_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "purchase_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "accessories": [
      {
        "related_id": 317,
        "related_type": "Item",
        "parent_transaction_type": 1,
        "item_transaction_type": 1,
        "inclusion_type": 1,
        "mode": 0,
        "quantity": "3.0",
        "zero_priced": false,
        "sort_order": 2,
        "id": 1,
        "relatable_id": 25,
        "relatable_type": "Item",
        "related_name": "REDMote",
        "related_icon_url": "",
        "related_icon_thumb_url": "",
        "type": "Accessory",
        "parent_transaction_type_name": "rent",
        "item_transaction_type_name": "rented",
        "inclusion_type_name": "mandatory",
        "mode_name": "accessory",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      }
    ],
    "alternative_products": [
      {
        "relatable_id": 25,
        "relatable_type": "Item",
        "related_id": 317,
        "related_type": "Item",
        "related_name": "RED One M-X",
        "related_icon_thumb_url": ""
      }
    ],
    "attachments": [
      {
        "attachable_id": 39,
        "name": "Site Plan",
        "description": "",
        "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
        "attachment_content_type": "image/png",
        "attachment_file_size": 46424,
        "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "attachable_type": "Item"
      }
    ],
    "product_surcharges": [
      {
        "surcharge_id": 2,
        "id": 1,
        "surcharge": {
          "surcharge_group_id": 1,
          "tax_class_id": 2,
          "revenue_group_id": 3,
          "name": "Comprehensive Insurance",
          "rate_type": 0,
          "rate": "20.0",
          "default": false,
          "id": 1,
          "surcharge_group_name": "Insurance",
          "rate_type_name": "Percent (After Discount)",
          "tax_class": {
            "name": "VAT Standard",
            "id": 1
          },
          "revenue_group": {
            "id": 1,
            "name": "Rental",
            "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
            "active": true
          }
        }
      }
    ],
    "rental_rates": [
      {
        "store_id": 1,
        "transaction_type": 1,
        "rate_definition_id": 5,
        "rate_definition_name": "Weeks and Days",
        "starts_at": "",
        "ends_at": "",
        "price": "20.0",
        "category_prices": [
          {
            "price": "100.00",
            "price_category_id": "1000015",
            "price_category_name": "A"
          }
        ],
        "id": 1,
        "store_name": "Nottingham",
        "transaction_type_name": "Rental"
      }
    ],
    "sale_rates": [
      {
        "store_id": 1,
        "transaction_type": 1,
        "rate_definition_id": 5,
        "rate_definition_name": "Weeks and Days",
        "starts_at": "",
        "ends_at": "",
        "price": "20.0",
        "category_prices": [
          {
            "price": "100.00",
            "price_category_id": "1000015",
            "price_category_name": "A"
          }
        ],
        "id": 1,
        "store_name": "Nottingham",
        "transaction_type_name": "Rental"
      }
    ],
    "item_inspections": [
      {
        "id": 1,
        "inspection_id": 1,
        "inspection_name": ""
      }
    ],
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product name"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Product record"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "stock_method": {
          "type": "number",
          "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
        },
        "buffer_percent": {
          "type": "string",
          "description": "The percentage of available stock that will generate low stock warnings in the availability views"
        },
        "post_rent_unavailability": {
          "type": "number",
          "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
        },
        "replacement_charge": {
          "type": "string",
          "description": "The replacement value/charge of this product"
        },
        "weight": {
          "type": "string",
          "description": "The weight of this product"
        },
        "barcode": {
          "type": "string",
          "description": "The barcode of this product (only applicable to bulk and non stock products only)"
        },
        "active": {
          "type": "boolean",
          "description": "Is this product active? Inactive products are hidden from views by default."
        },
        "accessory_only": {
          "type": "boolean",
          "description": "Can this product only be used as an accessory?"
        },
        "discountable": {
          "type": "boolean",
          "description": "Can a discount be applied to this product?"
        },
        "rental_rate": {
          "type": "object",
          "properties": {},
          "description": "The current rental rate for this product"
        },
        "sale_rate": {
          "type": "object",
          "properties": {},
          "description": "The current sale rate for this product"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this product relates to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this product relates to"
        },
        "rental_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
        },
        "sale_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
        },
        "sub_rental_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
        },
        "sub_rental_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is sub-rented"
        },
        "sub_rental_rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
        },
        "purchase_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
        },
        "purchase_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is purchased"
        },
        "assigned_inspection_ids": {
          "type": "array",
          "description": "An array of inspection IDs selected for this product"
        },
        "country_of_origin_id": {
          "type": "number",
          "description": "The country of origin record identifier"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product record"
        },
        "allowed_stock_type_name": {
          "type": "string",
          "description": "(Readonly) The allowed stock type name"
        },
        "stock_method_name": {
          "type": "string",
          "description": "(Readonly) The stock method name"
        },
        "product_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The product group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Product Group"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Product Group record"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this Product Group"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Product Group record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Product Group record was last updated"
            }
          }
        },
        "tax_class": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Tax Class name"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Tax Class record"
            }
          },
          "description": "The Tax Class object for this product"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product"
        },
        "rental_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this product"
        },
        "sale_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this product"
        },
        "sub_rental_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The sub-rental Cost Group object for this product"
        },
        "purchase_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The purchase Cost Group object for this product"
        },
        "accessories": {
          "type": "array",
          "description": "An array of accessories for this product"
        },
        "alternative_products": {
          "type": "array",
          "description": "An array of alternative products for this product"
        },
        "attachments": {
          "type": "array",
          "description": "An array of attachments for this product"
        },
        "product_surcharges": {
          "type": "array",
          "description": "An array of product surcharges for this product"
        },
        "rental_rates": {
          "type": "array",
          "description": "An array of rental rates for this product"
        },
        "sale_rates": {
          "type": "array",
          "description": "An array of sale rates for this product"
        },
        "item_inspections": {
          "type": "array",
          "description": "(Readonly) An array of inspections selected for this product"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Product record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Product record was last updated"
        }
      }
    }
  }
}
Delete a Product
DELETE/products/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/products/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired product

Response  204

Clone Product

Clone a Product
GET/products/{id}/clone

This method will return a new product record that is a clone of the given product ID.

Example URI
GET https://api.current-rms.com/api/v1/products/1/clone
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired product to clone

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product": {
    "name": "Audio",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "allowed_stock_type": 0,
    "stock_method": 0,
    "buffer_percent": "0.0",
    "post_rent_unavailability": 0,
    "replacement_charge": "0.0",
    "weight": "0.0",
    "barcode": "",
    "active": true,
    "accessory_only": false,
    "discountable": true,
    "rental_rate": {},
    "sale_rate": {},
    "product_group_id": 6,
    "tax_class_id": 2,
    "rental_revenue_group_id": 1,
    "sale_revenue_group_id": 6,
    "sub_rental_cost_group_id": 1,
    "sub_rental_price": 100,
    "sub_rental_rate_definition_id": 1,
    "purchase_cost_group_id": 1,
    "purchase_price": 100,
    "assigned_inspection_ids": [
      1
    ],
    "country_of_origin_id": 1,
    "custom_fields": {},
    "id": 25,
    "allowed_stock_type_name": "All",
    "stock_method_name": "None",
    "product_group": {
      "name": "Audio",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "custom_fields": {},
      "id": 1,
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "ProductGroup"
      },
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "tax_class": {
      "name": "VAT Standard",
      "id": 1
    },
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Item"
    },
    "rental_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "sale_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "sub_rental_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "purchase_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "accessories": [
      {
        "related_id": 317,
        "related_type": "Item",
        "parent_transaction_type": 1,
        "item_transaction_type": 1,
        "inclusion_type": 1,
        "mode": 0,
        "quantity": "3.0",
        "zero_priced": false,
        "sort_order": 2,
        "id": 1,
        "relatable_id": 25,
        "relatable_type": "Item",
        "related_name": "REDMote",
        "related_icon_url": "",
        "related_icon_thumb_url": "",
        "type": "Accessory",
        "parent_transaction_type_name": "rent",
        "item_transaction_type_name": "rented",
        "inclusion_type_name": "mandatory",
        "mode_name": "accessory",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      }
    ],
    "alternative_products": [
      {
        "relatable_id": 25,
        "relatable_type": "Item",
        "related_id": 317,
        "related_type": "Item",
        "related_name": "RED One M-X",
        "related_icon_thumb_url": ""
      }
    ],
    "attachments": [
      {
        "attachable_id": 39,
        "name": "Site Plan",
        "description": "",
        "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
        "attachment_content_type": "image/png",
        "attachment_file_size": 46424,
        "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "attachable_type": "Item"
      }
    ],
    "product_surcharges": [
      {
        "surcharge_id": 2,
        "id": 1,
        "surcharge": {
          "surcharge_group_id": 1,
          "tax_class_id": 2,
          "revenue_group_id": 3,
          "name": "Comprehensive Insurance",
          "rate_type": 0,
          "rate": "20.0",
          "default": false,
          "id": 1,
          "surcharge_group_name": "Insurance",
          "rate_type_name": "Percent (After Discount)",
          "tax_class": {
            "name": "VAT Standard",
            "id": 1
          },
          "revenue_group": {
            "id": 1,
            "name": "Rental",
            "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
            "active": true
          }
        }
      }
    ],
    "rental_rates": [
      {
        "store_id": 1,
        "transaction_type": 1,
        "rate_definition_id": 5,
        "rate_definition_name": "Weeks and Days",
        "starts_at": "",
        "ends_at": "",
        "price": "20.0",
        "category_prices": [
          {
            "price": "100.00",
            "price_category_id": "1000015",
            "price_category_name": "A"
          }
        ],
        "id": 1,
        "store_name": "Nottingham",
        "transaction_type_name": "Rental"
      }
    ],
    "sale_rates": [
      {
        "store_id": 1,
        "transaction_type": 1,
        "rate_definition_id": 5,
        "rate_definition_name": "Weeks and Days",
        "starts_at": "",
        "ends_at": "",
        "price": "20.0",
        "category_prices": [
          {
            "price": "100.00",
            "price_category_id": "1000015",
            "price_category_name": "A"
          }
        ],
        "id": 1,
        "store_name": "Nottingham",
        "transaction_type_name": "Rental"
      }
    ],
    "item_inspections": [
      {
        "id": 1,
        "inspection_id": 1,
        "inspection_name": ""
      }
    ],
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product name"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Product record"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "stock_method": {
          "type": "number",
          "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
        },
        "buffer_percent": {
          "type": "string",
          "description": "The percentage of available stock that will generate low stock warnings in the availability views"
        },
        "post_rent_unavailability": {
          "type": "number",
          "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
        },
        "replacement_charge": {
          "type": "string",
          "description": "The replacement value/charge of this product"
        },
        "weight": {
          "type": "string",
          "description": "The weight of this product"
        },
        "barcode": {
          "type": "string",
          "description": "The barcode of this product (only applicable to bulk and non stock products only)"
        },
        "active": {
          "type": "boolean",
          "description": "Is this product active? Inactive products are hidden from views by default."
        },
        "accessory_only": {
          "type": "boolean",
          "description": "Can this product only be used as an accessory?"
        },
        "discountable": {
          "type": "boolean",
          "description": "Can a discount be applied to this product?"
        },
        "rental_rate": {
          "type": "object",
          "properties": {},
          "description": "The current rental rate for this product"
        },
        "sale_rate": {
          "type": "object",
          "properties": {},
          "description": "The current sale rate for this product"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this product relates to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this product relates to"
        },
        "rental_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
        },
        "sale_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
        },
        "sub_rental_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
        },
        "sub_rental_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is sub-rented"
        },
        "sub_rental_rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
        },
        "purchase_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
        },
        "purchase_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is purchased"
        },
        "assigned_inspection_ids": {
          "type": "array",
          "description": "An array of inspection IDs selected for this product"
        },
        "country_of_origin_id": {
          "type": "number",
          "description": "The country of origin record identifier"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product record"
        },
        "allowed_stock_type_name": {
          "type": "string",
          "description": "(Readonly) The allowed stock type name"
        },
        "stock_method_name": {
          "type": "string",
          "description": "(Readonly) The stock method name"
        },
        "product_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The product group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Product Group"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Product Group record"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this Product Group"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Product Group record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Product Group record was last updated"
            }
          }
        },
        "tax_class": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Tax Class name"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Tax Class record"
            }
          },
          "description": "The Tax Class object for this product"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product"
        },
        "rental_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this product"
        },
        "sale_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this product"
        },
        "sub_rental_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The sub-rental Cost Group object for this product"
        },
        "purchase_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The purchase Cost Group object for this product"
        },
        "accessories": {
          "type": "array",
          "description": "An array of accessories for this product"
        },
        "alternative_products": {
          "type": "array",
          "description": "An array of alternative products for this product"
        },
        "attachments": {
          "type": "array",
          "description": "An array of attachments for this product"
        },
        "product_surcharges": {
          "type": "array",
          "description": "An array of product surcharges for this product"
        },
        "rental_rates": {
          "type": "array",
          "description": "An array of rental rates for this product"
        },
        "sale_rates": {
          "type": "array",
          "description": "An array of sale rates for this product"
        },
        "item_inspections": {
          "type": "array",
          "description": "(Readonly) An array of inspections selected for this product"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Product record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Product record was last updated"
        }
      }
    }
  }
}

Products

List Products
GET/products{?page,per_page,filtermode}
Example URI
GET https://api.current-rms.com/api/v1/products?page=1&per_page=20&filtermode=all
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

filtermode (string, optional)all

A built in filtermode name (e.g. active, inactive, all)

q[name_or_product_group_name_or_tags_name_cont] (string, optional)search_text_here

Search on name, product group name or tags for matching records

include[] (string, optional)accessories

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; accessories.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "products": [
    {
      "name": "Audio",
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "allowed_stock_type": 0,
      "stock_method": 0,
      "buffer_percent": "0.0",
      "post_rent_unavailability": 0,
      "replacement_charge": "0.0",
      "weight": "0.0",
      "barcode": "",
      "active": true,
      "accessory_only": false,
      "discountable": true,
      "rental_rate": {},
      "sale_rate": {},
      "product_group_id": 6,
      "tax_class_id": 2,
      "rental_revenue_group_id": 1,
      "sale_revenue_group_id": 6,
      "sub_rental_cost_group_id": 1,
      "sub_rental_price": 100,
      "sub_rental_rate_definition_id": 1,
      "purchase_cost_group_id": 1,
      "purchase_price": 100,
      "assigned_inspection_ids": [
        1
      ],
      "country_of_origin_id": 1,
      "custom_fields": {},
      "id": 25,
      "allowed_stock_type_name": "All",
      "stock_method_name": "None",
      "product_group": {
        "name": "Audio",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "custom_fields": {},
        "id": 1,
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "ProductGroup"
        },
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "tax_class": {
        "name": "VAT Standard",
        "id": 1
      },
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Item"
      },
      "rental_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sale_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sub_rental_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "purchase_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "accessories": [
        {
          "related_id": 317,
          "related_type": "Item",
          "parent_transaction_type": 1,
          "item_transaction_type": 1,
          "inclusion_type": 1,
          "mode": 0,
          "quantity": "3.0",
          "zero_priced": false,
          "sort_order": 2,
          "id": 1,
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_name": "REDMote",
          "related_icon_url": "",
          "related_icon_thumb_url": "",
          "type": "Accessory",
          "parent_transaction_type_name": "rent",
          "item_transaction_type_name": "rented",
          "inclusion_type_name": "mandatory",
          "mode_name": "accessory",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        }
      ],
      "alternative_products": [
        {
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_id": 317,
          "related_type": "Item",
          "related_name": "RED One M-X",
          "related_icon_thumb_url": ""
        }
      ],
      "attachments": [
        {
          "attachable_id": 39,
          "name": "Site Plan",
          "description": "",
          "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
          "attachment_content_type": "image/png",
          "attachment_file_size": 46424,
          "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "id": 1,
          "attachable_type": "Item"
        }
      ],
      "product_surcharges": [
        {
          "surcharge_id": 2,
          "id": 1,
          "surcharge": {
            "surcharge_group_id": 1,
            "tax_class_id": 2,
            "revenue_group_id": 3,
            "name": "Comprehensive Insurance",
            "rate_type": 0,
            "rate": "20.0",
            "default": false,
            "id": 1,
            "surcharge_group_name": "Insurance",
            "rate_type_name": "Percent (After Discount)",
            "tax_class": {
              "name": "VAT Standard",
              "id": 1
            },
            "revenue_group": {
              "id": 1,
              "name": "Rental",
              "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
              "active": true
            }
          }
        }
      ],
      "rental_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "sale_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "item_inspections": [
        {
          "id": 1,
          "inspection_id": 1,
          "inspection_name": ""
        }
      ],
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "products": {
      "type": "array"
    }
  }
}
Create a Product
POST/products
Example URI
POST https://api.current-rms.com/api/v1/products
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "product": {
    "name": "Audio",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "allowed_stock_type": 0,
    "stock_method": 0,
    "buffer_percent": "0.0",
    "post_rent_unavailability": 0,
    "replacement_charge": "0.0",
    "weight": "0.0",
    "barcode": "",
    "active": true,
    "accessory_only": false,
    "discountable": true,
    "rental_rate": {},
    "sale_rate": {},
    "product_group_id": 6,
    "tax_class_id": 2,
    "rental_revenue_group_id": 1,
    "sale_revenue_group_id": 6,
    "sub_rental_cost_group_id": 1,
    "sub_rental_price": 100,
    "sub_rental_rate_definition_id": 1,
    "purchase_cost_group_id": 1,
    "purchase_price": 100,
    "assigned_inspection_ids": [
      1
    ],
    "country_of_origin_id": 1,
    "custom_fields": {},
    "icon": {
      "image": ""
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product name"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Product record"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "stock_method": {
          "type": "number",
          "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
        },
        "buffer_percent": {
          "type": "string",
          "description": "The percentage of available stock that will generate low stock warnings in the availability views"
        },
        "post_rent_unavailability": {
          "type": "number",
          "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
        },
        "replacement_charge": {
          "type": "string",
          "description": "The replacement value/charge of this product"
        },
        "weight": {
          "type": "string",
          "description": "The weight of this product"
        },
        "barcode": {
          "type": "string",
          "description": "The barcode of this product (only applicable to bulk and non stock products only)"
        },
        "active": {
          "type": "boolean",
          "description": "Is this product active? Inactive products are hidden from views by default."
        },
        "accessory_only": {
          "type": "boolean",
          "description": "Can this product only be used as an accessory?"
        },
        "discountable": {
          "type": "boolean",
          "description": "Can a discount be applied to this product?"
        },
        "rental_rate": {
          "type": "object",
          "properties": {},
          "description": "The current rental rate for this product"
        },
        "sale_rate": {
          "type": "object",
          "properties": {},
          "description": "The current sale rate for this product"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this product relates to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this product relates to"
        },
        "rental_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
        },
        "sale_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
        },
        "sub_rental_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
        },
        "sub_rental_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is sub-rented"
        },
        "sub_rental_rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
        },
        "purchase_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
        },
        "purchase_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is purchased"
        },
        "assigned_inspection_ids": {
          "type": "array",
          "description": "An array of inspection IDs selected for this product"
        },
        "country_of_origin_id": {
          "type": "number",
          "description": "The country of origin record identifier"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this product"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product": {
    "name": "Audio",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
    "allowed_stock_type": 0,
    "stock_method": 0,
    "buffer_percent": "0.0",
    "post_rent_unavailability": 0,
    "replacement_charge": "0.0",
    "weight": "0.0",
    "barcode": "",
    "active": true,
    "accessory_only": false,
    "discountable": true,
    "rental_rate": {},
    "sale_rate": {},
    "product_group_id": 6,
    "tax_class_id": 2,
    "rental_revenue_group_id": 1,
    "sale_revenue_group_id": 6,
    "sub_rental_cost_group_id": 1,
    "sub_rental_price": 100,
    "sub_rental_rate_definition_id": 1,
    "purchase_cost_group_id": 1,
    "purchase_price": 100,
    "assigned_inspection_ids": [
      1
    ],
    "country_of_origin_id": 1,
    "custom_fields": {},
    "id": 25,
    "allowed_stock_type_name": "All",
    "stock_method_name": "None",
    "product_group": {
      "name": "Audio",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "custom_fields": {},
      "id": 1,
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "ProductGroup"
      },
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "tax_class": {
      "name": "VAT Standard",
      "id": 1
    },
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Item"
    },
    "rental_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "sale_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "sub_rental_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "purchase_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "accessories": [
      {
        "related_id": 317,
        "related_type": "Item",
        "parent_transaction_type": 1,
        "item_transaction_type": 1,
        "inclusion_type": 1,
        "mode": 0,
        "quantity": "3.0",
        "zero_priced": false,
        "sort_order": 2,
        "id": 1,
        "relatable_id": 25,
        "relatable_type": "Item",
        "related_name": "REDMote",
        "related_icon_url": "",
        "related_icon_thumb_url": "",
        "type": "Accessory",
        "parent_transaction_type_name": "rent",
        "item_transaction_type_name": "rented",
        "inclusion_type_name": "mandatory",
        "mode_name": "accessory",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      }
    ],
    "alternative_products": [
      {
        "relatable_id": 25,
        "relatable_type": "Item",
        "related_id": 317,
        "related_type": "Item",
        "related_name": "RED One M-X",
        "related_icon_thumb_url": ""
      }
    ],
    "attachments": [
      {
        "attachable_id": 39,
        "name": "Site Plan",
        "description": "",
        "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
        "attachment_content_type": "image/png",
        "attachment_file_size": 46424,
        "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "attachable_type": "Item"
      }
    ],
    "product_surcharges": [
      {
        "surcharge_id": 2,
        "id": 1,
        "surcharge": {
          "surcharge_group_id": 1,
          "tax_class_id": 2,
          "revenue_group_id": 3,
          "name": "Comprehensive Insurance",
          "rate_type": 0,
          "rate": "20.0",
          "default": false,
          "id": 1,
          "surcharge_group_name": "Insurance",
          "rate_type_name": "Percent (After Discount)",
          "tax_class": {
            "name": "VAT Standard",
            "id": 1
          },
          "revenue_group": {
            "id": 1,
            "name": "Rental",
            "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
            "active": true
          }
        }
      }
    ],
    "rental_rates": [
      {
        "store_id": 1,
        "transaction_type": 1,
        "rate_definition_id": 5,
        "rate_definition_name": "Weeks and Days",
        "starts_at": "",
        "ends_at": "",
        "price": "20.0",
        "category_prices": [
          {
            "price": "100.00",
            "price_category_id": "1000015",
            "price_category_name": "A"
          }
        ],
        "id": 1,
        "store_name": "Nottingham",
        "transaction_type_name": "Rental"
      }
    ],
    "sale_rates": [
      {
        "store_id": 1,
        "transaction_type": 1,
        "rate_definition_id": 5,
        "rate_definition_name": "Weeks and Days",
        "starts_at": "",
        "ends_at": "",
        "price": "20.0",
        "category_prices": [
          {
            "price": "100.00",
            "price_category_id": "1000015",
            "price_category_name": "A"
          }
        ],
        "id": 1,
        "store_name": "Nottingham",
        "transaction_type_name": "Rental"
      }
    ],
    "item_inspections": [
      {
        "id": 1,
        "inspection_id": 1,
        "inspection_name": ""
      }
    ],
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The product name"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Product record"
        },
        "description": {
          "type": "string",
          "description": "A longer description of the Product"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "stock_method": {
          "type": "number",
          "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
        },
        "buffer_percent": {
          "type": "string",
          "description": "The percentage of available stock that will generate low stock warnings in the availability views"
        },
        "post_rent_unavailability": {
          "type": "number",
          "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
        },
        "replacement_charge": {
          "type": "string",
          "description": "The replacement value/charge of this product"
        },
        "weight": {
          "type": "string",
          "description": "The weight of this product"
        },
        "barcode": {
          "type": "string",
          "description": "The barcode of this product (only applicable to bulk and non stock products only)"
        },
        "active": {
          "type": "boolean",
          "description": "Is this product active? Inactive products are hidden from views by default."
        },
        "accessory_only": {
          "type": "boolean",
          "description": "Can this product only be used as an accessory?"
        },
        "discountable": {
          "type": "boolean",
          "description": "Can a discount be applied to this product?"
        },
        "rental_rate": {
          "type": "object",
          "properties": {},
          "description": "The current rental rate for this product"
        },
        "sale_rate": {
          "type": "object",
          "properties": {},
          "description": "The current sale rate for this product"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this product relates to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this product relates to"
        },
        "rental_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
        },
        "sale_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
        },
        "sub_rental_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
        },
        "sub_rental_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is sub-rented"
        },
        "sub_rental_rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
        },
        "purchase_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
        },
        "purchase_price": {
          "type": "number",
          "description": "The standard cost price to apply when this product is purchased"
        },
        "assigned_inspection_ids": {
          "type": "array",
          "description": "An array of inspection IDs selected for this product"
        },
        "country_of_origin_id": {
          "type": "number",
          "description": "The country of origin record identifier"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product record"
        },
        "allowed_stock_type_name": {
          "type": "string",
          "description": "(Readonly) The allowed stock type name"
        },
        "stock_method_name": {
          "type": "string",
          "description": "(Readonly) The stock method name"
        },
        "product_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The product group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Product Group"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Product Group record"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this Product Group"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Product Group record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Product Group record was last updated"
            }
          }
        },
        "tax_class": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Tax Class name"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Tax Class record"
            }
          },
          "description": "The Tax Class object for this product"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product"
        },
        "rental_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this product"
        },
        "sale_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this product"
        },
        "sub_rental_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The sub-rental Cost Group object for this product"
        },
        "purchase_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The purchase Cost Group object for this product"
        },
        "accessories": {
          "type": "array",
          "description": "An array of accessories for this product"
        },
        "alternative_products": {
          "type": "array",
          "description": "An array of alternative products for this product"
        },
        "attachments": {
          "type": "array",
          "description": "An array of attachments for this product"
        },
        "product_surcharges": {
          "type": "array",
          "description": "An array of product surcharges for this product"
        },
        "rental_rates": {
          "type": "array",
          "description": "An array of rental rates for this product"
        },
        "sale_rates": {
          "type": "array",
          "description": "An array of sale rates for this product"
        },
        "item_inspections": {
          "type": "array",
          "description": "(Readonly) An array of inspections selected for this product"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Product record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Product record was last updated"
        }
      }
    }
  }
}

Product examples

Product inventories with rental availability quantities for period other than today
GET/products
/api/v1/products/inventory?filtermode=rental&starts_at=2021-02-01T08:00:00.000Z&ends_at=2021-02-14T18:00:00.000Z
Example URI
GET https://api.current-rms.com/api/v1/products
Products matching accessory product name
GET/products
/api/v1/products?q[accessories_related_of_Item_type_name_eq]=accessory_name_here
Example URI
GET https://api.current-rms.com/api/v1/products
Rental only products
GET/products
/api/v1/products?q[allowed_stock_type_eq]=1
Example URI
GET https://api.current-rms.com/api/v1/products
Products with a specific tag belonging to a Product Group
GET/products
/api/v1/products?q[tags_name_eq]=ABC%20IWB&q[product_group_name_eq]=Lighting
Example URI
GET https://api.current-rms.com/api/v1/products

Prepare Product Document

This method will return a rendered document for the given Document layout ID.

Prepare a Product Document
GET/products/{id}/prepare_document{?document_id}
Example URI
GET https://api.current-rms.com/api/v1/products/1/prepare_document?document_id=1
Parameters
NameExampleDescription
id (number, required)1
document_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "filename": "",
  "document": {
    "name": "Quotation",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "module_type": "Opportunity",
    "system": true,
    "active": true,
    "layout": "<div><p class=\"large-para\">I am a document layout</p></div>",
    "header_layout": "",
    "footer_layout": "",
    "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>",
    "page_size": "Letter",
    "orientation": "Portrait",
    "states": [],
    "statuses": [],
    "types": [],
    "membership_types": [],
    "page_width": 210,
    "page_height": 297,
    "margin_top": 1,
    "margin_left": 1,
    "margin_right": 1,
    "margin_bottom": 1,
    "colors": [],
    "fields": [],
    "layout_flags": [],
    "grouped_fields": [],
    "grouped_layout_flags": [],
    "filename": "",
    "roles": [],
    "use_for_approval": true,
    "require_signature": true,
    "approval_custom_fields": [],
    "approval_accept_text": "",
    "approval_decline_text": "",
    "use_for_signing": false,
    "default_signing_message": "",
    "days_to_sign": 7,
    "reminder_frequency": 2,
    "library_document_ids": [],
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  },
  "output": {
    "header": "<div><p>Header dummy html</p></div>",
    "body": "<div><p>Body dummy html</p></div>",
    "footer": "<div><p>Footer dummy html</p></div>",
    "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "filename": {
      "type": "string"
    },
    "document": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The document layout name"
        },
        "description": {
          "type": "string",
          "description": "The document long description"
        },
        "module_type": {
          "type": "string",
          "description": "The module type of the document record (e.g. Opportunity, Invoice, Product, Member, Activity etc.)"
        },
        "system": {
          "type": "boolean",
          "description": "Is this document layout a system record?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this document layout active?"
        },
        "layout": {
          "type": "string",
          "description": "The body html layout"
        },
        "header_layout": {
          "type": "string",
          "description": "The header html layout (repeated at the top of each page)"
        },
        "footer_layout": {
          "type": "string",
          "description": "The footer html layout (repeated at the bottom of each page)"
        },
        "stylesheet": {
          "type": "string",
          "description": "The document css stylesheet"
        },
        "page_size": {
          "type": "string",
          "description": "The document layout page size (A4, Letter, Custom)"
        },
        "orientation": {
          "type": "string",
          "description": "The document layout page orientation (Portrait or Landscape)"
        },
        "states": {
          "type": "array",
          "description": "An array of record states this document layout can be used for - see Opportunity State for possible integer values"
        },
        "statuses": {
          "type": "array",
          "description": "An array of record statuses this document layout can be used for - see Opportunity, Invoice & Project Statuses for possible integer values"
        },
        "types": {
          "type": "array",
          "description": "An array of record types this document layout can be used for - see Invoice and Quarantine Type for possible integer values"
        },
        "membership_types": {
          "type": "array",
          "description": "An array of membership types this document layout can be used for - see Member Membership Type for possible string values"
        },
        "page_width": {
          "type": "number",
          "description": "The page width in millimeters (only applicable when page_size is Custom)"
        },
        "page_height": {
          "type": "number",
          "description": "The page height in millimeters (only applicable when page_size is Custom)"
        },
        "margin_top": {
          "type": "number",
          "description": "The top margin in millimeters (the area available to the header_layout)"
        },
        "margin_left": {
          "type": "number",
          "description": "The left margin in millimeters"
        },
        "margin_right": {
          "type": "number",
          "description": "The right margin in millimeters"
        },
        "margin_bottom": {
          "type": "number",
          "description": "The bottom margin in millimeters (the area available to the footer_layout)"
        },
        "colors": {
          "type": "array",
          "description": "An array of key/value pairs for color codes used within this document layout"
        },
        "fields": {
          "type": "array",
          "description": "An array of key/value pairs for additional text messages used within this document layout"
        },
        "layout_flags": {
          "type": "array",
          "description": "An array of key/value pairs for logic flags used within this document layout"
        },
        "grouped_fields": {
          "type": "array",
          "description": "An array of hashes of key/value pairs for grouped text messages used within this document layout"
        },
        "grouped_layout_flags": {
          "type": "array",
          "description": "An array of hashes of key/value pairs for grouped logic flags used within this document layout"
        },
        "filename": {
          "type": "string",
          "description": "The original filename of the document layout (only applicable to system document layouts)"
        },
        "roles": {
          "type": "array",
          "description": "An array of Role records IDs that have access to this document layout"
        },
        "use_for_approval": {
          "type": "boolean",
          "description": "Is document approval enabled for this document layout?"
        },
        "require_signature": {
          "type": "boolean",
          "description": "Can a signature be captured during approval for this document layout?"
        },
        "approval_custom_fields": {
          "type": "array",
          "description": "An array of Custom Field records IDs that should shown during document approval"
        },
        "approval_accept_text": {
          "type": "string",
          "description": "The message shown during document approval accept"
        },
        "approval_decline_text": {
          "type": "string",
          "description": "The message shown during document approval decline"
        },
        "use_for_signing": {
          "type": "boolean",
          "description": "Use this document layout with Adobe Sign?"
        },
        "default_signing_message": {
          "type": "string",
          "description": "The default discussion message to be used when sending this document for signing (Adobe Sign)"
        },
        "days_to_sign": {
          "type": "number",
          "description": "The number of days before the document must be signed (Adobe Sign)"
        },
        "reminder_frequency": {
          "type": "number",
          "description": "The reminder frequency (0=None, 1=Daily, 2=Weekly) (Adobe Sign)"
        },
        "library_document_ids": {
          "type": "array",
          "description": "An array Adobe Sign document Library IDs to include with this document when sending for signing (Adobe Sign)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Document record"
        }
      }
    },
    "output": {
      "type": "object",
      "properties": {
        "header": {
          "type": "string",
          "description": "The HTML for the header section"
        },
        "body": {
          "type": "string",
          "description": "The HTML for the body section"
        },
        "footer": {
          "type": "string",
          "description": "The HTML for the footer section"
        },
        "stylesheet": {
          "type": "string",
          "description": "The CSS stylesheet for the document"
        }
      }
    }
  }
}

Prepare Product Document as PDF

This method will return a PDF document for the given Document layout ID.

Prepare a Product Document PDF
GET/products/{id}/prepare_document.pdf{?document_id}
Example URI
GET https://api.current-rms.com/api/v1/products/1/prepare_document.pdf?document_id=1
Parameters
NameExampleDescription
id (number, required)1
document_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/pdf

Product Availability

These endpoints can be used to query the Current RMS stock sub-system to discover stock quantities for a given date period for either a group of products or a single product. Current RMS holds a diary view of rental stock, including historic information, allowing you view rental stock availability both in the past and the future. Sales stock works on physical stock holdings with allocations and is therefore always based on totals.

The data returned by these endpoints consists of a number of integer arrays, with an entry in each array for each availability period. The base availability period is set within your system preferences. The number of array elements will vary depending on the length of the date period you are querying and your system availability period as follows: -

Hourly Availability

  • Days Period = 1 - array entry for each hour

  • Days Period > 1 and <= 7 - array entry for each quarter day

  • Days Period > 7 and <= 21 - array entry for each half day

  • Days Period > 21 - array entry for each day

Quarter Day Availability

  • Days Period >= 1 and <= 7 - array entry for each quarter day

  • Days Period > 7 and <= 21 - array entry for each half day

  • Days Period > 21 - array entry for each day

Half Day Availability

  • Days Period >= 1 and <= 21 - array entry for each half day

  • Days Period > 21 - array entry for each day

Day Availability

  • An array entry for each day

Action

Retrieve group availability information
POST/availability/group
Example URI
POST https://api.current-rms.com/api/v1/availability/group
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "product_availability_view_options": {
    "product_group_id": 1,
    "store_ids": [
      1
    ],
    "starts_at": "2017-06-01",
    "days_period": 28,
    "tag_array": [
      "Red",
      "Green",
      "Blue"
    ],
    "shortages_only": false,
    "rental_sale": true,
    "include_quoted": false
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_availability_view_options": {
      "type": "object",
      "properties": {
        "product_group_id": {
          "type": "number",
          "description": "The identifier of the Product Group record"
        },
        "store_ids": {
          "type": "array",
          "description": "An array of Store record identifiers"
        },
        "starts_at": {
          "type": "string",
          "description": "An ISO8601 formatted start date"
        },
        "days_period": {
          "type": "number",
          "description": "The number of days to return availability information for"
        },
        "tag_array": {
          "type": "array",
          "description": "An array of tags to filter the returned products by"
        },
        "shortages_only": {
          "type": "boolean",
          "description": "Flag to indicate if only products with shortages in the period should be returned"
        },
        "rental_sale": {
          "type": "boolean",
          "description": "Set to true to return rental stock, false for sale stock"
        },
        "include_quoted": {
          "type": "boolean",
          "description": "Flag to indicate if quotations should included when calculating quantity available"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_availability": {
    "product_id": 1,
    "product_name": "Canon C300 (EF)",
    "stock_method": 2,
    "buffer_percent": "0.0",
    "availability_period": 0,
    "starts_at": "2017-06-01",
    "ends_at": "2017-06-28",
    "store_quantity_held": [
      1
    ],
    "quantity_held": [
      1
    ],
    "quantity_booked": [
      1
    ],
    "quantity_unavailable": [
      1
    ],
    "quantity_available": [
      1
    ],
    "quantity_sub_rent": [
      1
    ],
    "quantity_quoted": [
      1
    ],
    "quantity_post_rent": [
      1
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_availability": {
      "type": "object",
      "properties": {
        "product_id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product record"
        },
        "product_name": {
          "type": "string",
          "description": "(Readonly) The name of the Product record"
        },
        "stock_method": {
          "type": "number",
          "description": "(Readonly) The product's stock method (0=None, 1=Bulk, 2=Serialised)"
        },
        "buffer_percent": {
          "type": "string",
          "description": "(Readonly) The percentage of available stock that will generate low stock warnings in the availability views"
        },
        "availability_period": {
          "type": "number",
          "description": "(ReadOnly) The availability period (0=Day, 1=Half Day, 2=Quarter Day, 3=Hour)"
        },
        "starts_at": {
          "type": "string",
          "description": "(ReadOnly) The start date of the availability information"
        },
        "ends_at": {
          "type": "string",
          "description": "(ReadOnly) The end date of the availability information"
        },
        "store_quantity_held": {
          "type": "array",
          "description": "(Readonly) A quantity held array for each store"
        },
        "quantity_held": {
          "type": "array",
          "description": "(Readonly) Quantity held array - entry for each availability period unit"
        },
        "quantity_booked": {
          "type": "array",
          "description": "(Readonly) Quantity booked array - entry for each availability period unit"
        },
        "quantity_unavailable": {
          "type": "array",
          "description": "(Readonly) Quantity unavailable (Quarantine) array - entry for each availability period unit"
        },
        "quantity_available": {
          "type": "array",
          "description": "(Readonly) Quantity available array - entry for each availability period unit"
        },
        "quantity_sub_rent": {
          "type": "array",
          "description": "(Readonly) Quantity on sub rent array - entry for each availability period unit"
        },
        "quantity_quoted": {
          "type": "array",
          "description": "(Readonly) Quantity quoted array - entry for each availability period unit"
        },
        "quantity_post_rent": {
          "type": "array",
          "description": "(Readonly) Quantity in post rent array - entry for each availability period unit"
        }
      }
    }
  }
}

Action

Retrieve product availability information
POST/availability/product
Example URI
POST https://api.current-rms.com/api/v1/availability/product
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "booking_availability_view_options": {
    "product_id": 1,
    "store_ids": [
      1
    ],
    "starts_at": "2017-06-01",
    "days_period": 28
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "booking_availability_view_options": {
      "type": "object",
      "properties": {
        "product_id": {
          "type": "number",
          "description": "The identifier of the Product record"
        },
        "store_ids": {
          "type": "array",
          "description": "An array of Store record identifiers"
        },
        "starts_at": {
          "type": "string",
          "description": "An ISO8601 formatted start date"
        },
        "days_period": {
          "type": "number",
          "description": "The number of days to return availability information for"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_bookings": {
    "product_id": 1,
    "product_name": "Canon C300 (EF)",
    "stock_method": 2,
    "buffer_percent": "0.0",
    "availability_period": 0,
    "starts_at": "2017-06-01",
    "ends_at": "2017-06-28",
    "store_quantity_held": [
      1
    ],
    "quantity_held": [
      1
    ],
    "quantity_booked": [
      1
    ],
    "quantity_unavailable": [
      1
    ],
    "quantity_available": [
      1
    ],
    "quantity_sub_rent": [
      1
    ],
    "quantity_quoted": [
      1
    ],
    "quantity_post_rent": [
      1
    ],
    "product_bookings": [
      {
        "opportunity_id": 1,
        "subject": "Drive web-enabled experiences",
        "number": "Hello, world!",
        "reference": "Hello, world!",
        "project_name": "Drive web-enabled experiences",
        "open_ended_rental": false,
        "booking_quantities": [
          {
            "store_quantity": 1,
            "supplier_quantity": 1,
            "status": 1
          }
        ]
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_bookings": {
      "type": "object",
      "properties": {
        "product_id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product record"
        },
        "product_name": {
          "type": "string",
          "description": "(Readonly) The name of the Product record"
        },
        "stock_method": {
          "type": "number",
          "description": "(Readonly) The product's stock method (0=None, 1=Bulk, 2=Serialised)"
        },
        "buffer_percent": {
          "type": "string",
          "description": "(Readonly) The percentage of available stock that will generate low stock warnings in the availability views"
        },
        "availability_period": {
          "type": "number",
          "description": "(ReadOnly) The availability period (0=Day, 1=Half Day, 2=Quarter Day, 3=Hour)"
        },
        "starts_at": {
          "type": "string",
          "description": "(ReadOnly) The start date of the availability information"
        },
        "ends_at": {
          "type": "string",
          "description": "(ReadOnly) The end date of the availability information"
        },
        "store_quantity_held": {
          "type": "array",
          "description": "(Readonly) A quantity held array for each store"
        },
        "quantity_held": {
          "type": "array",
          "description": "(Readonly) Quantity held array - entry for each availability period unit"
        },
        "quantity_booked": {
          "type": "array",
          "description": "(Readonly) Quantity booked array - entry for each availability period unit"
        },
        "quantity_unavailable": {
          "type": "array",
          "description": "(Readonly) Quantity unavailable (Quarantine) array - entry for each availability period unit"
        },
        "quantity_available": {
          "type": "array",
          "description": "(Readonly) Quantity available array - entry for each availability period unit"
        },
        "quantity_sub_rent": {
          "type": "array",
          "description": "(Readonly) Quantity on sub rent array - entry for each availability period unit"
        },
        "quantity_quoted": {
          "type": "array",
          "description": "(Readonly) Quantity quoted array - entry for each availability period unit"
        },
        "quantity_post_rent": {
          "type": "array",
          "description": "(Readonly) Quantity in post rent array - entry for each availability period unit"
        },
        "product_bookings": {
          "type": "array",
          "description": "(Readonly) Array of bookings for this product applicable to the date period"
        }
      }
    }
  }
}

Product Inventories

A Product Inventory is a simplified Product record including stock availability and pricing for today’s date.

Store parameter

When the store_id parameter is excluded, the stock availability and pricing are set for the first active store.

When the store_id parameter contains a single store id, the stock availability and pricing are set for that store.

When the store_id parameter contains an array of store ids, the stock availability and pricing are set for the first store and the store_quantities attribute contains stock availability for each store.

Date parameters

When the starts_at and ends_at parameters are excluded, the rental quantities are set for today’s date using the day availability period.

When the starts_at and ends_at parameters are included, only the rental quantity available is set using the dates and the system availability period.

Product Inventory

List Product Inventories
GET/product_inventories{?page,per_page,filtermode,view_id}
Example URI
GET https://api.current-rms.com/api/v1/product_inventories?page=1&per_page=20&filtermode=all&view_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

filtermode (string, optional)all

A built in filtermode name (e.g. active, inactive, all, rental, sale)

view_id (number, optional)1

The record id of a custom view

q[name_or_product_group_name_or_product_tags_name_cont] (string, optional, `search_text_here`) (string, required)

Search on name, product group name or tags for matching records

store_id (number, optional)1

The record id of a store or an array of record ids for multiple stores

starts_at (string, optional)2019-06-01T08:00:00.000Z

The start date to use when setting rental stock availability

ends_at (string, optional)2019-06-01T20:00:00.000Z

The end date to use when setting rental stock availability

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_inventories": [
    {
      "id": 25,
      "name": "Audio",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "icon_url": "",
      "icon_thumb_url": "",
      "product_group_name": "",
      "product_group_id": "",
      "rental_allowed?": false,
      "can_rent?": false,
      "has_stock?": false,
      "store_id": 1,
      "rental_quantity_held": "10.00",
      "rental_quantity_unavailable": "3.00",
      "rental_quantity_booked": "3.00",
      "rental_quantity_sub_rent": "0.00",
      "rental_quantity_available": "4.00",
      "rental_rate_exists?": false,
      "rental_price": "500.00",
      "rental_lead_charge_period_name": "Daily",
      "sale_allowed?": false,
      "can_sell?": false,
      "sale_quantity_held": "10.00",
      "sale_quantity_unavailable": "3.00",
      "sale_quantity_allocated": "3.00",
      "sale_quantity_available": "4.00",
      "sale_price": "1500.00",
      "stock_method": 0,
      "stock_method_name": "None",
      "buffer_percent": "0.0",
      "replacement_charge": "0.0",
      "weight": "0.0",
      "barcode": "",
      "active": true,
      "accessory_only": false,
      "discountable": true,
      "tax_class_id": 2,
      "rental_revenue_group_id": 1,
      "sale_revenue_group_id": 6,
      "sub_rental_cost_group_id": 1,
      "purchase_cost_group_id": 1,
      "store_quantities": [
        {
          "store_id": 1,
          "rental_quantity_held": "10.00",
          "rental_quantity_unavailable": "3.00",
          "rental_quantity_booked": "3.00",
          "rental_quantity_sub_rent": "0.00",
          "rental_quantity_available": "4.00",
          "sale_quantity_held": "10.00",
          "sale_quantity_unavailable": "3.00",
          "sale_quantity_allocated": "3.00",
          "sale_quantity_available": "4.00"
        }
      ],
      "custom_fields": {}
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_inventories": {
      "type": "array"
    }
  }
}

Product Inventory examples

Product inventory for rental products in a given store in a date window

/api/v1/product_inventories?starts_at=2021-09-10&ends_at=2021-09-15&filtermode[]=rental&store_id=1

Product Revenue

A Product Revenue is a record detailing revenue earned by a product

Product Revenue

Retrieve a Product Revenue
GET/products/{product_id}/product_revenues/{id}
Example URI
GET https://api.current-rms.com/api/v1/products/1/product_revenues/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired product revenue record

product_id (number, required)1

The ID of the desired product

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_revenue": {
    "id": 25,
    "item_id": 10,
    "store_id": 1,
    "stock_level_id": 279,
    "revenue_group_id": 1,
    "surcharge_id": 2,
    "member_id": 1,
    "invoice_id": 1,
    "invoice_item_origin_id": 1,
    "source_id": 34,
    "source_type": "Opportunity",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "invoiced_at": "2015-07-02T11:15:00.000Z",
    "charge_starts_at": "2015-06-29T08:00:00.000Z",
    "charge_ends_at": "2015-06-30T08:00:00.000Z",
    "use_chargeable_days": false,
    "chargeable_days": 1,
    "service_rate_type": 1,
    "revenue_type": 1,
    "quantity": 1,
    "amount": "24.0",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_revenue": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "The identifier of the Product Revenue record"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this product revenue is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this product revenue relates to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this product revenue relates to"
        },
        "revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this product revenue is related to"
        },
        "surcharge_id": {
          "type": "number",
          "description": "The internal identifier of the Surcharge record this product revenue relates to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this product revenue is associated to"
        },
        "invoice_id": {
          "type": "number",
          "description": "The internal identifier of the Invoice record this product revenue is associated to"
        },
        "invoice_item_origin_id": {
          "type": "number",
          "description": "The internal identifier of the Invoice Item Origin record this product revenue is associated to"
        },
        "source_id": {
          "type": "number",
          "description": "The internal identifier of the product revenue's source record (where the revenue has come from)"
        },
        "source_type": {
          "type": "string",
          "description": "The object name of the product revenue's source record"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this product revenue"
        },
        "invoiced_at": {
          "type": "string",
          "description": "The invoice date/time of this product revenue"
        },
        "charge_starts_at": {
          "type": "string",
          "description": "The charging start date of this product revenue"
        },
        "charge_ends_at": {
          "type": "string",
          "description": "The charging end date of this product revenue"
        },
        "use_chargeable_days": {
          "type": "boolean",
          "description": "Override calculated rental period?"
        },
        "chargeable_days": {
          "type": "number",
          "description": "The number of chargeable days in the rental period"
        },
        "service_rate_type": {
          "type": "number",
          "description": "The service rate type (Day = 1, Hour = 2, Distance = 3, Flat Rate = 4)"
        },
        "revenue_type": {
          "type": "number",
          "description": "The revenue type (Rental = 1, Sale = 2, Surcharge = 3, Service = 4)"
        },
        "quantity": {
          "type": "number",
          "description": "The quantity of the product revenue"
        },
        "amount": {
          "type": "string",
          "description": "The total value of the product revenue"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the product revenue record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the product revenue record was last updated"
        }
      },
      "required": [
        "invoiced_at"
      ]
    }
  }
}

Product Revenues

List Product Revenues
GET/products/{product_id}/product_revenues
Example URI
GET https://api.current-rms.com/api/v1/products/1/product_revenues
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_revenues": [
    {
      "id": 25,
      "item_id": 10,
      "store_id": 1,
      "stock_level_id": 279,
      "revenue_group_id": 1,
      "surcharge_id": 2,
      "member_id": 1,
      "invoice_id": 1,
      "invoice_item_origin_id": 1,
      "source_id": 34,
      "source_type": "Opportunity",
      "ordered_at": "2015-06-27T08:00:00.000Z",
      "invoiced_at": "2015-07-02T11:15:00.000Z",
      "charge_starts_at": "2015-06-29T08:00:00.000Z",
      "charge_ends_at": "2015-06-30T08:00:00.000Z",
      "use_chargeable_days": false,
      "chargeable_days": 1,
      "service_rate_type": 1,
      "revenue_type": 1,
      "quantity": 1,
      "amount": "24.0",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_revenues": {
      "type": "array"
    }
  }
}

Product Tax Classes

A Product Tax Class is used to determine taxation rules and rates for an product

Product Tax Class

Retrieve a Product Tax Class
GET/product_tax_classes/{id}
Example URI
GET https://api.current-rms.com/api/v1/product_tax_classes/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Product Tax Class

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_tax_class": {
    "name": "Example Tax Class",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Product Tax Class record"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product Tax Class record"
        }
      }
    }
  }
}
Update a Product Tax Class
PUT/product_tax_classes/{id}
Example URI
PUT https://api.current-rms.com/api/v1/product_tax_classes/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Product Tax Class

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "product_tax_class": {
    "name": "Example Tax Class"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Product Tax Class record"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_tax_class": {
    "name": "Example Tax Class",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Product Tax Class record"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product Tax Class record"
        }
      }
    }
  }
}
Delete a Product Tax Class
DELETE/product_tax_classes/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/product_tax_classes/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Product Tax Class

Response  204

Product Tax Classes

List Product Tax Classes
GET/product_tax_classes{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/product_tax_classes?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_cont] (string, optional, `search_text_here`) (string, required)

Search on name for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_tax_classes": [
    {
      "name": "Example Tax Class",
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_tax_classes": {
      "type": "array"
    }
  }
}
Create a Product Tax Class
POST/product_tax_classes
Example URI
POST https://api.current-rms.com/api/v1/product_tax_classes
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "product_tax_class": {
    "name": "Example Tax Class"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Product Tax Class record"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "product_tax_class": {
    "name": "Example Tax Class",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "product_tax_class": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of this Product Tax Class record"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Product Tax Class record"
        }
      }
    }
  }
}

Projects

A Project represents a collection of Opportunities

To remove existing participants from a project object, include the attribute _destroy with a value of 1 along with the participant record id when performing an update operation, for example: -

{
  "project": {
    "id": 1,
    "participants": [
      {
        "id": 1,
        "_destroy": 1
      }
    ]
  }
}

Project

Retrieve an Project
GET/projects/{id}
Example URI
GET https://api.current-rms.com/api/v1/projects/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired project

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "project": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "name": "Drive web-enabled experiences",
    "description": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "project_invoicing": true,
    "reference": "",
    "owned_by": 1,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "status": 0,
    "status_name": "Open",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Project"
    },
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunities": [
      {
        "store_id": 1,
        "project_id": null,
        "member_id": 1,
        "billing_address_id": 1,
        "venue_id": null,
        "tax_class_id": 1,
        "subject": "Drive web-enabled experiences",
        "description": "",
        "number": "",
        "starts_at": "2015-06-29T08:00:00.000Z",
        "ends_at": "2015-06-30T08:00:00.000Z",
        "charge_starts_at": "2015-06-29T08:00:00.000Z",
        "charge_ends_at": "2015-06-30T08:00:00.000Z",
        "ordered_at": "2015-06-27T08:00:00.000Z",
        "quote_invalid_at": "",
        "state": 1,
        "use_chargeable_days": false,
        "chargeable_days": 1,
        "open_ended_rental": false,
        "invoiced": false,
        "rating": 4,
        "revenue": "0",
        "customer_collecting": false,
        "customer_returning": false,
        "reference": "",
        "external_description": "",
        "delivery_instructions": "",
        "owned_by": 1,
        "prep_starts_at": "",
        "prep_ends_at": "",
        "load_starts_at": "",
        "load_ends_at": "",
        "deliver_starts_at": "",
        "deliver_ends_at": "",
        "setup_starts_at": "",
        "setup_ends_at": "",
        "show_starts_at": "",
        "show_ends_at": "",
        "takedown_starts_at": "",
        "takedown_ends_at": "",
        "collect_starts_at": "",
        "collect_ends_at": "",
        "unload_starts_at": "",
        "unload_ends_at": "",
        "deprep_starts_at": "",
        "deprep_ends_at": "",
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "assigned_surcharge_group_ids": [
          1
        ],
        "cancellation_reason_id": 0,
        "cancellation_description": "",
        "invoice_charge_total": "",
        "custom_fields": {},
        "participants": [
          {
            "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
            "assignment_id": 110,
            "member_id": 1,
            "mute": false,
            "id": 1,
            "member_name": "Steve Smith",
            "created_at": "2015-06-25T11:14:32.087Z",
            "updated_at": "2015-07-13T11:14:32.095Z",
            "assignment_type": "Activity"
          }
        ],
        "id": 1,
        "state_name": "Draft",
        "status": 0,
        "status_name": "Open",
        "charge_total": "15990.0",
        "charge_excluding_tax_total": "15990.0",
        "charge_including_tax_total": "19188.0",
        "rental_charge_total": "15990.0",
        "sale_charge_total": "15990.0",
        "surcharge_total": "15990.0",
        "service_charge_total": "15990.0",
        "tax_total": "3198.0",
        "original_rental_charge_total": "15990.0",
        "original_sale_charge_total": "15990.0",
        "original_surcharge_total": "15990.0",
        "original_service_charge_total": "15990.0",
        "original_tax_total": "3198.0",
        "replacement_charge_total": "1198.0",
        "provisional_cost_total": "1198.0",
        "actual_cost_total": "1298.0",
        "predicted_cost_total": "1298.0",
        "weight_total": "",
        "item_returned": false,
        "prices_include_tax": false,
        "pricing_locked": false,
        "latest_approval_document_status": 0,
        "has_deal_price": false,
        "has_opportunity_deal": false,
        "auto_costing_enabled": true,
        "source_opportunity_id": null,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "owner": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1,
            "title": "Manager",
            "owner": true,
            "admin": true
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "member": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1,
            "number": "ABC123",
            "tax_number": "T456789",
            "cash": false,
            "on_stop": false,
            "rating": 1,
            "owned_by": 1,
            "price_category_id": 1000015,
            "discount_category_id": 1,
            "invoice_term": 1,
            "invoice_term_length": 7
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "billing_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z"
        },
        "venue": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "opportunity_surcharges": [
          {
            "opportunity_id": 1,
            "surcharge_group_id": 1,
            "id": 1,
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "surcharge_group_name": "Insurance"
          }
        ]
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this project relates to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this project is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this project's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this project is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this project is related to"
        },
        "name": {
          "type": "string",
          "description": "The subject (title/name) of this project"
        },
        "description": {
          "type": "string",
          "description": "The long description of this project"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date of this project"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date of this project"
        },
        "project_invoicing": {
          "type": "boolean",
          "description": "Is invoicing for the related opportunities handled by this project?"
        },
        "reference": {
          "type": "string",
          "description": "The customer's reference for this project"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this project is owned by"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this project"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Project record"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The project status (0 = Open, 40 = Closed)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The project status name"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the project was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the project"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this project"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunities": {
          "type": "array",
          "description": "(Readonly) An array of Opportunities associated with this project"
        }
      }
    }
  }
}
Update a Project
PUT/projects/{id}
Example URI
PUT https://api.current-rms.com/api/v1/projects/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired project

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "project": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "name": "Drive web-enabled experiences",
    "description": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "project_invoicing": true,
    "reference": "",
    "owned_by": 1,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this project relates to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this project is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this project's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this project is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this project is related to"
        },
        "name": {
          "type": "string",
          "description": "The subject (title/name) of this project"
        },
        "description": {
          "type": "string",
          "description": "The long description of this project"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date of this project"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date of this project"
        },
        "project_invoicing": {
          "type": "boolean",
          "description": "Is invoicing for the related opportunities handled by this project?"
        },
        "reference": {
          "type": "string",
          "description": "The customer's reference for this project"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this project is owned by"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this project"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "project": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "name": "Drive web-enabled experiences",
    "description": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "project_invoicing": true,
    "reference": "",
    "owned_by": 1,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "status": 0,
    "status_name": "Open",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Project"
    },
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunities": [
      {
        "store_id": 1,
        "project_id": null,
        "member_id": 1,
        "billing_address_id": 1,
        "venue_id": null,
        "tax_class_id": 1,
        "subject": "Drive web-enabled experiences",
        "description": "",
        "number": "",
        "starts_at": "2015-06-29T08:00:00.000Z",
        "ends_at": "2015-06-30T08:00:00.000Z",
        "charge_starts_at": "2015-06-29T08:00:00.000Z",
        "charge_ends_at": "2015-06-30T08:00:00.000Z",
        "ordered_at": "2015-06-27T08:00:00.000Z",
        "quote_invalid_at": "",
        "state": 1,
        "use_chargeable_days": false,
        "chargeable_days": 1,
        "open_ended_rental": false,
        "invoiced": false,
        "rating": 4,
        "revenue": "0",
        "customer_collecting": false,
        "customer_returning": false,
        "reference": "",
        "external_description": "",
        "delivery_instructions": "",
        "owned_by": 1,
        "prep_starts_at": "",
        "prep_ends_at": "",
        "load_starts_at": "",
        "load_ends_at": "",
        "deliver_starts_at": "",
        "deliver_ends_at": "",
        "setup_starts_at": "",
        "setup_ends_at": "",
        "show_starts_at": "",
        "show_ends_at": "",
        "takedown_starts_at": "",
        "takedown_ends_at": "",
        "collect_starts_at": "",
        "collect_ends_at": "",
        "unload_starts_at": "",
        "unload_ends_at": "",
        "deprep_starts_at": "",
        "deprep_ends_at": "",
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "assigned_surcharge_group_ids": [
          1
        ],
        "cancellation_reason_id": 0,
        "cancellation_description": "",
        "invoice_charge_total": "",
        "custom_fields": {},
        "participants": [
          {
            "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
            "assignment_id": 110,
            "member_id": 1,
            "mute": false,
            "id": 1,
            "member_name": "Steve Smith",
            "created_at": "2015-06-25T11:14:32.087Z",
            "updated_at": "2015-07-13T11:14:32.095Z",
            "assignment_type": "Activity"
          }
        ],
        "id": 1,
        "state_name": "Draft",
        "status": 0,
        "status_name": "Open",
        "charge_total": "15990.0",
        "charge_excluding_tax_total": "15990.0",
        "charge_including_tax_total": "19188.0",
        "rental_charge_total": "15990.0",
        "sale_charge_total": "15990.0",
        "surcharge_total": "15990.0",
        "service_charge_total": "15990.0",
        "tax_total": "3198.0",
        "original_rental_charge_total": "15990.0",
        "original_sale_charge_total": "15990.0",
        "original_surcharge_total": "15990.0",
        "original_service_charge_total": "15990.0",
        "original_tax_total": "3198.0",
        "replacement_charge_total": "1198.0",
        "provisional_cost_total": "1198.0",
        "actual_cost_total": "1298.0",
        "predicted_cost_total": "1298.0",
        "weight_total": "",
        "item_returned": false,
        "prices_include_tax": false,
        "pricing_locked": false,
        "latest_approval_document_status": 0,
        "has_deal_price": false,
        "has_opportunity_deal": false,
        "auto_costing_enabled": true,
        "source_opportunity_id": null,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "owner": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1,
            "title": "Manager",
            "owner": true,
            "admin": true
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "member": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1,
            "number": "ABC123",
            "tax_number": "T456789",
            "cash": false,
            "on_stop": false,
            "rating": 1,
            "owned_by": 1,
            "price_category_id": 1000015,
            "discount_category_id": 1,
            "invoice_term": 1,
            "invoice_term_length": 7
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "billing_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z"
        },
        "venue": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "opportunity_surcharges": [
          {
            "opportunity_id": 1,
            "surcharge_group_id": 1,
            "id": 1,
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "surcharge_group_name": "Insurance"
          }
        ]
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this project relates to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this project is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this project's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this project is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this project is related to"
        },
        "name": {
          "type": "string",
          "description": "The subject (title/name) of this project"
        },
        "description": {
          "type": "string",
          "description": "The long description of this project"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date of this project"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date of this project"
        },
        "project_invoicing": {
          "type": "boolean",
          "description": "Is invoicing for the related opportunities handled by this project?"
        },
        "reference": {
          "type": "string",
          "description": "The customer's reference for this project"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this project is owned by"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this project"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Project record"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The project status (0 = Open, 40 = Closed)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The project status name"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the project was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the project"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this project"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunities": {
          "type": "array",
          "description": "(Readonly) An array of Opportunities associated with this project"
        }
      }
    }
  }
}
Delete a Project
DELETE/projects/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/projects/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired project

Response  204

Projects

List Projects
GET/projects{?page,per_page,filtermode,view_id}
Example URI
GET https://api.current-rms.com/api/v1/projects?page=1&per_page=20&filtermode=all&view_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

filtermode (string, optional)all

A built in filtermode name (e.g. active, inactive, all)

view_id (number, optional)1

The record id of a custom view

q[name_or_member_name_or_tags_name_cont] (string, optional, 'search_text_here') (string, required)

Search on name, member organisation name or tags for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "projects": [
    {
      "store_id": 1,
      "member_id": 1,
      "billing_address_id": 1,
      "venue_id": null,
      "tax_class_id": 1,
      "name": "Drive web-enabled experiences",
      "description": "",
      "starts_at": "2015-06-29T08:00:00.000Z",
      "ends_at": "2015-06-30T08:00:00.000Z",
      "project_invoicing": true,
      "reference": "",
      "owned_by": 1,
      "custom_fields": {},
      "participants": [
        {
          "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
          "assignment_id": 110,
          "member_id": 1,
          "mute": false,
          "id": 1,
          "member_name": "Steve Smith",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "assignment_type": "Activity"
        }
      ],
      "id": 1,
      "status": 0,
      "status_name": "Open",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Project"
      },
      "owner": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "title": "Manager",
          "owner": true,
          "admin": true
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "member": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "billing_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z"
      },
      "venue": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "opportunities": [
        {
          "store_id": 1,
          "project_id": null,
          "member_id": 1,
          "billing_address_id": 1,
          "venue_id": null,
          "tax_class_id": 1,
          "subject": "Drive web-enabled experiences",
          "description": "",
          "number": "",
          "starts_at": "2015-06-29T08:00:00.000Z",
          "ends_at": "2015-06-30T08:00:00.000Z",
          "charge_starts_at": "2015-06-29T08:00:00.000Z",
          "charge_ends_at": "2015-06-30T08:00:00.000Z",
          "ordered_at": "2015-06-27T08:00:00.000Z",
          "quote_invalid_at": "",
          "state": 1,
          "use_chargeable_days": false,
          "chargeable_days": 1,
          "open_ended_rental": false,
          "invoiced": false,
          "rating": 4,
          "revenue": "0",
          "customer_collecting": false,
          "customer_returning": false,
          "reference": "",
          "external_description": "",
          "delivery_instructions": "",
          "owned_by": 1,
          "prep_starts_at": "",
          "prep_ends_at": "",
          "load_starts_at": "",
          "load_ends_at": "",
          "deliver_starts_at": "",
          "deliver_ends_at": "",
          "setup_starts_at": "",
          "setup_ends_at": "",
          "show_starts_at": "",
          "show_ends_at": "",
          "takedown_starts_at": "",
          "takedown_ends_at": "",
          "collect_starts_at": "",
          "collect_ends_at": "",
          "unload_starts_at": "",
          "unload_ends_at": "",
          "deprep_starts_at": "",
          "deprep_ends_at": "",
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "assigned_surcharge_group_ids": [
            1
          ],
          "cancellation_reason_id": 0,
          "cancellation_description": "",
          "invoice_charge_total": "",
          "custom_fields": {},
          "participants": [
            {
              "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
              "assignment_id": 110,
              "member_id": 1,
              "mute": false,
              "id": 1,
              "member_name": "Steve Smith",
              "created_at": "2015-06-25T11:14:32.087Z",
              "updated_at": "2015-07-13T11:14:32.095Z",
              "assignment_type": "Activity"
            }
          ],
          "id": 1,
          "state_name": "Draft",
          "status": 0,
          "status_name": "Open",
          "charge_total": "15990.0",
          "charge_excluding_tax_total": "15990.0",
          "charge_including_tax_total": "19188.0",
          "rental_charge_total": "15990.0",
          "sale_charge_total": "15990.0",
          "surcharge_total": "15990.0",
          "service_charge_total": "15990.0",
          "tax_total": "3198.0",
          "original_rental_charge_total": "15990.0",
          "original_sale_charge_total": "15990.0",
          "original_surcharge_total": "15990.0",
          "original_service_charge_total": "15990.0",
          "original_tax_total": "3198.0",
          "replacement_charge_total": "1198.0",
          "provisional_cost_total": "1198.0",
          "actual_cost_total": "1298.0",
          "predicted_cost_total": "1298.0",
          "weight_total": "",
          "item_returned": false,
          "prices_include_tax": false,
          "pricing_locked": false,
          "latest_approval_document_status": 0,
          "has_deal_price": false,
          "has_opportunity_deal": false,
          "auto_costing_enabled": true,
          "source_opportunity_id": null,
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "owner": {
            "name": "Chris Bralton",
            "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
            "active": true,
            "bookable": false,
            "location_type": 0,
            "locale": "en-GB",
            "membership_type": "Contact",
            "lawful_basis_type_id": 10001,
            "sale_tax_class_id": 1,
            "purchase_tax_class_id": 1,
            "tag_list": [
              "[\"Red\", \"Blue\", \"Green\"]"
            ],
            "custom_fields": {},
            "membership": {
              "id": 1,
              "title": "Manager",
              "owner": true,
              "admin": true
            },
            "primary_address": {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3001,
              "address_type_name": "Primary",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z"
            },
            "emails": [
              {
                "address": "abigail.parker@ggmail.co.uk",
                "type_id": 4001,
                "email_type_name": "Work",
                "id": 1
              }
            ],
            "phones": [
              {
                "number": "+44 115 9793399",
                "type_id": 6001,
                "phone_type_name": "Work",
                "id": 1
              }
            ],
            "links": [
              {
                "address": "www.facebook.com/profile.php?id=566828251",
                "type_id": 5002,
                "link_type_name": "Facebook",
                "id": 1
              }
            ],
            "addresses": [
              {
                "name": "Chris Branson",
                "street": "16 The Triangle",
                "postcode": "NG2 1AE",
                "city": "Nottingham",
                "county": "Nottinghamshire",
                "country_id": "1",
                "country_name": "United Kingdom",
                "type_id": 3002,
                "address_type_name": "Billing",
                "created_at": "2017-06-29T10:00:00.000Z",
                "updated_at": "2017-06-29T10:30:00.000Z",
                "id": 1
              }
            ],
            "service_stock_levels": [
              {
                "item_id": 10,
                "store_id": 1,
                "member_id": 1,
                "asset_number": "Chris Bralton",
                "serial_number": "",
                "location": "",
                "stock_type": 3,
                "stock_category": 60,
                "quantity_held": "1.0",
                "quantity_allocated": "0.0",
                "quantity_unavailable": "0.0",
                "quantity_on_order": "0.0",
                "starts_at": "",
                "ends_at": "",
                "icon": {
                  "iconable_id": 85,
                  "id": 1,
                  "image_file_name": "abigail.jpeg",
                  "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                  "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                  "created_at": "2015-06-29T10:00:00.000Z",
                  "updated_at": "2015-06-29T10:30:00.000Z",
                  "iconable_type": "StockLevel"
                },
                "custom_fields": {},
                "id": 487,
                "item_name": "Sound Engineer",
                "store_name": "Nottingham",
                "stock_type_name": "Service",
                "stock_category_name": "Resource"
              }
            ],
            "day_cost": "",
            "hour_cost": "",
            "distance_cost": "",
            "flat_rate_cost": "",
            "id": 25,
            "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
            "membership_id": 25,
            "lawful_basis_type_name": "Unknown",
            "sale_tax_class_name": "Default",
            "purchase_tax_class_name": "Default",
            "created_at": "2015-06-25T11:14:32.087Z",
            "updated_at": "2015-07-13T11:14:32.095Z",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "Member"
            },
            "child_members": [
              {
                "relatable_id": 317,
                "relatable_type": "Member",
                "related_id": 25,
                "related_type": "Member",
                "id": 1,
                "relatable_name": "Bralton Industries",
                "relatable_membership_type": "Organisation",
                "related_name": "Chris Bralton",
                "related_membership_type": "Contact"
              }
            ],
            "parent_members": [
              {
                "relatable_id": 317,
                "relatable_type": "Member",
                "related_id": 25,
                "related_type": "Member",
                "id": 1,
                "relatable_name": "Bralton Industries",
                "relatable_membership_type": "Organisation",
                "related_name": "Chris Bralton",
                "related_membership_type": "Contact"
              }
            ]
          },
          "member": {
            "name": "Chris Bralton",
            "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
            "active": true,
            "bookable": false,
            "location_type": 0,
            "locale": "en-GB",
            "membership_type": "Contact",
            "lawful_basis_type_id": 10001,
            "sale_tax_class_id": 1,
            "purchase_tax_class_id": 1,
            "tag_list": [
              "[\"Red\", \"Blue\", \"Green\"]"
            ],
            "custom_fields": {},
            "membership": {
              "id": 1,
              "number": "ABC123",
              "tax_number": "T456789",
              "cash": false,
              "on_stop": false,
              "rating": 1,
              "owned_by": 1,
              "price_category_id": 1000015,
              "discount_category_id": 1,
              "invoice_term": 1,
              "invoice_term_length": 7
            },
            "primary_address": {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3001,
              "address_type_name": "Primary",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z"
            },
            "emails": [
              {
                "address": "abigail.parker@ggmail.co.uk",
                "type_id": 4001,
                "email_type_name": "Work",
                "id": 1
              }
            ],
            "phones": [
              {
                "number": "+44 115 9793399",
                "type_id": 6001,
                "phone_type_name": "Work",
                "id": 1
              }
            ],
            "links": [
              {
                "address": "www.facebook.com/profile.php?id=566828251",
                "type_id": 5002,
                "link_type_name": "Facebook",
                "id": 1
              }
            ],
            "addresses": [
              {
                "name": "Chris Branson",
                "street": "16 The Triangle",
                "postcode": "NG2 1AE",
                "city": "Nottingham",
                "county": "Nottinghamshire",
                "country_id": "1",
                "country_name": "United Kingdom",
                "type_id": 3002,
                "address_type_name": "Billing",
                "created_at": "2017-06-29T10:00:00.000Z",
                "updated_at": "2017-06-29T10:30:00.000Z",
                "id": 1
              }
            ],
            "service_stock_levels": [
              {
                "item_id": 10,
                "store_id": 1,
                "member_id": 1,
                "asset_number": "Chris Bralton",
                "serial_number": "",
                "location": "",
                "stock_type": 3,
                "stock_category": 60,
                "quantity_held": "1.0",
                "quantity_allocated": "0.0",
                "quantity_unavailable": "0.0",
                "quantity_on_order": "0.0",
                "starts_at": "",
                "ends_at": "",
                "icon": {
                  "iconable_id": 85,
                  "id": 1,
                  "image_file_name": "abigail.jpeg",
                  "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                  "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                  "created_at": "2015-06-29T10:00:00.000Z",
                  "updated_at": "2015-06-29T10:30:00.000Z",
                  "iconable_type": "StockLevel"
                },
                "custom_fields": {},
                "id": 487,
                "item_name": "Sound Engineer",
                "store_name": "Nottingham",
                "stock_type_name": "Service",
                "stock_category_name": "Resource"
              }
            ],
            "day_cost": "",
            "hour_cost": "",
            "distance_cost": "",
            "flat_rate_cost": "",
            "id": 25,
            "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
            "membership_id": 25,
            "lawful_basis_type_name": "Unknown",
            "sale_tax_class_name": "Default",
            "purchase_tax_class_name": "Default",
            "created_at": "2015-06-25T11:14:32.087Z",
            "updated_at": "2015-07-13T11:14:32.095Z",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "Member"
            },
            "child_members": [
              {
                "relatable_id": 317,
                "relatable_type": "Member",
                "related_id": 25,
                "related_type": "Member",
                "id": 1,
                "relatable_name": "Bralton Industries",
                "relatable_membership_type": "Organisation",
                "related_name": "Chris Bralton",
                "related_membership_type": "Contact"
              }
            ],
            "parent_members": [
              {
                "relatable_id": 317,
                "relatable_type": "Member",
                "related_id": 25,
                "related_type": "Member",
                "id": 1,
                "relatable_name": "Bralton Industries",
                "relatable_membership_type": "Organisation",
                "related_name": "Chris Bralton",
                "related_membership_type": "Contact"
              }
            ]
          },
          "billing_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z"
          },
          "venue": {
            "name": "Chris Bralton",
            "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
            "active": true,
            "bookable": false,
            "location_type": 0,
            "locale": "en-GB",
            "membership_type": "Contact",
            "lawful_basis_type_id": 10001,
            "sale_tax_class_id": 1,
            "purchase_tax_class_id": 1,
            "tag_list": [
              "[\"Red\", \"Blue\", \"Green\"]"
            ],
            "custom_fields": {},
            "membership": {
              "id": 1
            },
            "primary_address": {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3001,
              "address_type_name": "Primary",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z"
            },
            "emails": [
              {
                "address": "abigail.parker@ggmail.co.uk",
                "type_id": 4001,
                "email_type_name": "Work",
                "id": 1
              }
            ],
            "phones": [
              {
                "number": "+44 115 9793399",
                "type_id": 6001,
                "phone_type_name": "Work",
                "id": 1
              }
            ],
            "links": [
              {
                "address": "www.facebook.com/profile.php?id=566828251",
                "type_id": 5002,
                "link_type_name": "Facebook",
                "id": 1
              }
            ],
            "addresses": [
              {
                "name": "Chris Branson",
                "street": "16 The Triangle",
                "postcode": "NG2 1AE",
                "city": "Nottingham",
                "county": "Nottinghamshire",
                "country_id": "1",
                "country_name": "United Kingdom",
                "type_id": 3002,
                "address_type_name": "Billing",
                "created_at": "2017-06-29T10:00:00.000Z",
                "updated_at": "2017-06-29T10:30:00.000Z",
                "id": 1
              }
            ],
            "service_stock_levels": [
              {
                "item_id": 10,
                "store_id": 1,
                "member_id": 1,
                "asset_number": "Chris Bralton",
                "serial_number": "",
                "location": "",
                "stock_type": 3,
                "stock_category": 60,
                "quantity_held": "1.0",
                "quantity_allocated": "0.0",
                "quantity_unavailable": "0.0",
                "quantity_on_order": "0.0",
                "starts_at": "",
                "ends_at": "",
                "icon": {
                  "iconable_id": 85,
                  "id": 1,
                  "image_file_name": "abigail.jpeg",
                  "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                  "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                  "created_at": "2015-06-29T10:00:00.000Z",
                  "updated_at": "2015-06-29T10:30:00.000Z",
                  "iconable_type": "StockLevel"
                },
                "custom_fields": {},
                "id": 487,
                "item_name": "Sound Engineer",
                "store_name": "Nottingham",
                "stock_type_name": "Service",
                "stock_category_name": "Resource"
              }
            ],
            "day_cost": "",
            "hour_cost": "",
            "distance_cost": "",
            "flat_rate_cost": "",
            "id": 25,
            "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
            "membership_id": 25,
            "lawful_basis_type_name": "Unknown",
            "sale_tax_class_name": "Default",
            "purchase_tax_class_name": "Default",
            "created_at": "2015-06-25T11:14:32.087Z",
            "updated_at": "2015-07-13T11:14:32.095Z",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "Member"
            },
            "child_members": [
              {
                "relatable_id": 317,
                "relatable_type": "Member",
                "related_id": 25,
                "related_type": "Member",
                "id": 1,
                "relatable_name": "Bralton Industries",
                "relatable_membership_type": "Organisation",
                "related_name": "Chris Bralton",
                "related_membership_type": "Contact"
              }
            ],
            "parent_members": [
              {
                "relatable_id": 317,
                "relatable_type": "Member",
                "related_id": 25,
                "related_type": "Member",
                "id": 1,
                "relatable_name": "Bralton Industries",
                "relatable_membership_type": "Organisation",
                "related_name": "Chris Bralton",
                "related_membership_type": "Contact"
              }
            ]
          },
          "opportunity_surcharges": [
            {
              "opportunity_id": 1,
              "surcharge_group_id": 1,
              "id": 1,
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "surcharge_group_name": "Insurance"
            }
          ]
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "projects": {
      "type": "array"
    }
  }
}
Create a Project
POST/projects
Example URI
POST https://api.current-rms.com/api/v1/projects
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "project": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "name": "Drive web-enabled experiences",
    "description": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "project_invoicing": true,
    "reference": "",
    "owned_by": 1,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this project relates to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this project is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this project's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this project is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this project is related to"
        },
        "name": {
          "type": "string",
          "description": "The subject (title/name) of this project"
        },
        "description": {
          "type": "string",
          "description": "The long description of this project"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date of this project"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date of this project"
        },
        "project_invoicing": {
          "type": "boolean",
          "description": "Is invoicing for the related opportunities handled by this project?"
        },
        "reference": {
          "type": "string",
          "description": "The customer's reference for this project"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this project is owned by"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this project"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "project": {
    "store_id": 1,
    "member_id": 1,
    "billing_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "name": "Drive web-enabled experiences",
    "description": "",
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "project_invoicing": true,
    "reference": "",
    "owned_by": 1,
    "custom_fields": {},
    "participants": [
      {
        "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
        "assignment_id": 110,
        "member_id": 1,
        "mute": false,
        "id": 1,
        "member_name": "Steve Smith",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "assignment_type": "Activity"
      }
    ],
    "id": 1,
    "status": 0,
    "status_name": "Open",
    "created_at": "2015-06-29T10:00:00.000Z",
    "updated_at": "2015-06-29T10:30:00.000Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Project"
    },
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "billing_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "opportunities": [
      {
        "store_id": 1,
        "project_id": null,
        "member_id": 1,
        "billing_address_id": 1,
        "venue_id": null,
        "tax_class_id": 1,
        "subject": "Drive web-enabled experiences",
        "description": "",
        "number": "",
        "starts_at": "2015-06-29T08:00:00.000Z",
        "ends_at": "2015-06-30T08:00:00.000Z",
        "charge_starts_at": "2015-06-29T08:00:00.000Z",
        "charge_ends_at": "2015-06-30T08:00:00.000Z",
        "ordered_at": "2015-06-27T08:00:00.000Z",
        "quote_invalid_at": "",
        "state": 1,
        "use_chargeable_days": false,
        "chargeable_days": 1,
        "open_ended_rental": false,
        "invoiced": false,
        "rating": 4,
        "revenue": "0",
        "customer_collecting": false,
        "customer_returning": false,
        "reference": "",
        "external_description": "",
        "delivery_instructions": "",
        "owned_by": 1,
        "prep_starts_at": "",
        "prep_ends_at": "",
        "load_starts_at": "",
        "load_ends_at": "",
        "deliver_starts_at": "",
        "deliver_ends_at": "",
        "setup_starts_at": "",
        "setup_ends_at": "",
        "show_starts_at": "",
        "show_ends_at": "",
        "takedown_starts_at": "",
        "takedown_ends_at": "",
        "collect_starts_at": "",
        "collect_ends_at": "",
        "unload_starts_at": "",
        "unload_ends_at": "",
        "deprep_starts_at": "",
        "deprep_ends_at": "",
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "assigned_surcharge_group_ids": [
          1
        ],
        "cancellation_reason_id": 0,
        "cancellation_description": "",
        "invoice_charge_total": "",
        "custom_fields": {},
        "participants": [
          {
            "uuid": "55dcb830-3d2f-0133-6a66-7831c1cfb734",
            "assignment_id": 110,
            "member_id": 1,
            "mute": false,
            "id": 1,
            "member_name": "Steve Smith",
            "created_at": "2015-06-25T11:14:32.087Z",
            "updated_at": "2015-07-13T11:14:32.095Z",
            "assignment_type": "Activity"
          }
        ],
        "id": 1,
        "state_name": "Draft",
        "status": 0,
        "status_name": "Open",
        "charge_total": "15990.0",
        "charge_excluding_tax_total": "15990.0",
        "charge_including_tax_total": "19188.0",
        "rental_charge_total": "15990.0",
        "sale_charge_total": "15990.0",
        "surcharge_total": "15990.0",
        "service_charge_total": "15990.0",
        "tax_total": "3198.0",
        "original_rental_charge_total": "15990.0",
        "original_sale_charge_total": "15990.0",
        "original_surcharge_total": "15990.0",
        "original_service_charge_total": "15990.0",
        "original_tax_total": "3198.0",
        "replacement_charge_total": "1198.0",
        "provisional_cost_total": "1198.0",
        "actual_cost_total": "1298.0",
        "predicted_cost_total": "1298.0",
        "weight_total": "",
        "item_returned": false,
        "prices_include_tax": false,
        "pricing_locked": false,
        "latest_approval_document_status": 0,
        "has_deal_price": false,
        "has_opportunity_deal": false,
        "auto_costing_enabled": true,
        "source_opportunity_id": null,
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "owner": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1,
            "title": "Manager",
            "owner": true,
            "admin": true
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "member": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1,
            "number": "ABC123",
            "tax_number": "T456789",
            "cash": false,
            "on_stop": false,
            "rating": 1,
            "owned_by": 1,
            "price_category_id": 1000015,
            "discount_category_id": 1,
            "invoice_term": 1,
            "invoice_term_length": 7
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "billing_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z"
        },
        "venue": {
          "name": "Chris Bralton",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true,
          "bookable": false,
          "location_type": 0,
          "locale": "en-GB",
          "membership_type": "Contact",
          "lawful_basis_type_id": 10001,
          "sale_tax_class_id": 1,
          "purchase_tax_class_id": 1,
          "tag_list": [
            "[\"Red\", \"Blue\", \"Green\"]"
          ],
          "custom_fields": {},
          "membership": {
            "id": 1
          },
          "primary_address": {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3001,
            "address_type_name": "Primary",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z"
          },
          "emails": [
            {
              "address": "abigail.parker@ggmail.co.uk",
              "type_id": 4001,
              "email_type_name": "Work",
              "id": 1
            }
          ],
          "phones": [
            {
              "number": "+44 115 9793399",
              "type_id": 6001,
              "phone_type_name": "Work",
              "id": 1
            }
          ],
          "links": [
            {
              "address": "www.facebook.com/profile.php?id=566828251",
              "type_id": 5002,
              "link_type_name": "Facebook",
              "id": 1
            }
          ],
          "addresses": [
            {
              "name": "Chris Branson",
              "street": "16 The Triangle",
              "postcode": "NG2 1AE",
              "city": "Nottingham",
              "county": "Nottinghamshire",
              "country_id": "1",
              "country_name": "United Kingdom",
              "type_id": 3002,
              "address_type_name": "Billing",
              "created_at": "2017-06-29T10:00:00.000Z",
              "updated_at": "2017-06-29T10:30:00.000Z",
              "id": 1
            }
          ],
          "service_stock_levels": [
            {
              "item_id": 10,
              "store_id": 1,
              "member_id": 1,
              "asset_number": "Chris Bralton",
              "serial_number": "",
              "location": "",
              "stock_type": 3,
              "stock_category": 60,
              "quantity_held": "1.0",
              "quantity_allocated": "0.0",
              "quantity_unavailable": "0.0",
              "quantity_on_order": "0.0",
              "starts_at": "",
              "ends_at": "",
              "icon": {
                "iconable_id": 85,
                "id": 1,
                "image_file_name": "abigail.jpeg",
                "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
                "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
                "created_at": "2015-06-29T10:00:00.000Z",
                "updated_at": "2015-06-29T10:30:00.000Z",
                "iconable_type": "StockLevel"
              },
              "custom_fields": {},
              "id": 487,
              "item_name": "Sound Engineer",
              "store_name": "Nottingham",
              "stock_type_name": "Service",
              "stock_category_name": "Resource"
            }
          ],
          "day_cost": "",
          "hour_cost": "",
          "distance_cost": "",
          "flat_rate_cost": "",
          "id": 25,
          "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
          "membership_id": 25,
          "lawful_basis_type_name": "Unknown",
          "sale_tax_class_name": "Default",
          "purchase_tax_class_name": "Default",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "Member"
          },
          "child_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ],
          "parent_members": [
            {
              "relatable_id": 317,
              "relatable_type": "Member",
              "related_id": 25,
              "related_type": "Member",
              "id": 1,
              "relatable_name": "Bralton Industries",
              "relatable_membership_type": "Organisation",
              "related_name": "Chris Bralton",
              "related_membership_type": "Contact"
            }
          ]
        },
        "opportunity_surcharges": [
          {
            "opportunity_id": 1,
            "surcharge_group_id": 1,
            "id": 1,
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "surcharge_group_name": "Insurance"
          }
        ]
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this project relates to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this project is associated to"
        },
        "billing_address_id": {
          "type": "number",
          "description": "The internal identifier of the member's address record this project's billing address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this project is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this project is related to"
        },
        "name": {
          "type": "string",
          "description": "The subject (title/name) of this project"
        },
        "description": {
          "type": "string",
          "description": "The long description of this project"
        },
        "starts_at": {
          "type": "string",
          "description": "The overall start date of this project"
        },
        "ends_at": {
          "type": "string",
          "description": "The overall end date of this project"
        },
        "project_invoicing": {
          "type": "boolean",
          "description": "Is invoicing for the related opportunities handled by this project?"
        },
        "reference": {
          "type": "string",
          "description": "The customer's reference for this project"
        },
        "owned_by": {
          "type": "number",
          "description": "The internal identifier of the Member User record this project is owned by"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "participants": {
          "type": "array",
          "description": "An array of participants for this project"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Project record"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The project status (0 = Open, 40 = Closed)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The project status name"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the project was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the project"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Product"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation record detail"
        },
        "billing_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The Billing Address object for this project"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        },
        "opportunities": {
          "type": "array",
          "description": "(Readonly) An array of Opportunities associated with this project"
        }
      }
    }
  }
}

Prepare Project Document

This method will return the latest Project Document for the given Document layout ID, or prepare a new one if the project has changed since the last document was prepared.

Prepare a Project Document
GET/projects/{id}/prepare_document{?document_id}
Example URI
GET https://api.current-rms.com/api/v1/projects/1/prepare_document?document_id=1
Parameters
NameExampleDescription
id (number, required)1
document_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "project_document": {
    "project_id": 1,
    "document_id": 1,
    "data": {
      "header": "<div><p>Header dummy html</p></div>",
      "body": "<div><p>Body dummy html</p></div>",
      "footer": "<div><p>Footer dummy html</p></div>",
      "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
    },
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project_document": {
      "type": "object",
      "properties": {
        "project_id": {
          "type": "number",
          "description": "The internal identifier of the Project record this Project Document relates to"
        },
        "document_id": {
          "type": "number",
          "description": "The internal identifier of the Document record this Project Document relates to"
        },
        "data": {
          "type": "object",
          "properties": {
            "header": {
              "type": "string",
              "description": "The HTML for the header section"
            },
            "body": {
              "type": "string",
              "description": "The HTML for the body section"
            },
            "footer": {
              "type": "string",
              "description": "The HTML for the footer section"
            },
            "stylesheet": {
              "type": "string",
              "description": "The CSS stylesheet for the document"
            }
          },
          "description": "The HTML and CSS of this Project Document"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Project Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Project Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Project Document record"
        }
      }
    }
  }
}

Project Documents

An Project Document record describes a document snapshot captured when a document layout was previewed. Project Document records are read-only.

Project Document

Retrieve an Project Document
GET/project_documents/{id}
Example URI
GET https://api.current-rms.com/api/v1/project_documents/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Project Document

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "project_document": {
    "project_id": 1,
    "document_id": 1,
    "data": {
      "header": "<div><p>Header dummy html</p></div>",
      "body": "<div><p>Body dummy html</p></div>",
      "footer": "<div><p>Footer dummy html</p></div>",
      "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
    },
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project_document": {
      "type": "object",
      "properties": {
        "project_id": {
          "type": "number",
          "description": "The internal identifier of the Project record this Project Document relates to"
        },
        "document_id": {
          "type": "number",
          "description": "The internal identifier of the Document record this Project Document relates to"
        },
        "data": {
          "type": "object",
          "properties": {
            "header": {
              "type": "string",
              "description": "The HTML for the header section"
            },
            "body": {
              "type": "string",
              "description": "The HTML for the body section"
            },
            "footer": {
              "type": "string",
              "description": "The HTML for the footer section"
            },
            "stylesheet": {
              "type": "string",
              "description": "The CSS stylesheet for the document"
            }
          },
          "description": "The HTML and CSS of this Project Document"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Project Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Project Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Project Document record"
        }
      }
    }
  }
}

Project Document PDF

Retrieve an Project Document PDF
GET/project_documents/{id}.pdf
Example URI
GET https://api.current-rms.com/api/v1/project_documents/1.pdf
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Project Document

Response  200
HideShow
Headers
Content-Type: application/pdf

Project Documents

List Project Documents
GET/project_documents{?page,per_page,project_id}
Example URI
GET https://api.current-rms.com/api/v1/project_documents?page=1&per_page=20&project_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

project_id (number, optional)1

The internal identifier of an Project record

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "project_documents": [
    {
      "project_id": 1,
      "document_id": 1,
      "data": {
        "header": "<div><p>Header dummy html</p></div>",
        "body": "<div><p>Body dummy html</p></div>",
        "footer": "<div><p>Footer dummy html</p></div>",
        "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
      },
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z",
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "project_documents": {
      "type": "array"
    }
  }
}

Purchase Orders

A purchase order record describes a supplier order within the system.

Purchase Order

Retrieve an Purchase Order
GET/purchase_orders/{id}
Example URI
GET https://api.current-rms.com/api/v1/purchase_orders/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired purchase order

include[] (string, optional)purchase_order_items

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; owner, member, supplier_address, venue, participants, and purchase_order_items.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "purchase_order": {
    "store_id": 1,
    "member_id": 1,
    "supplier_address_id": 1,
    "venue_id": null,
    "tax_class_id": 1,
    "subject": "Drive web-enabled experiences",
    "description": "",
    "number": "",
    "ordered_at": "2015-06-27T08:00:00.000Z",
    "delivery_at": "",
    "expected_at": "",
    "expected_note": "",
    "return_at": "",
    "state": 1,
    "self_collecting": false,
    "self_returning": false,
    "reference": "",
    "external_description": "",
    "delivery_instructions": "",
    "delivery_attention": "",
    "delivery_telephone": "",
    "owned_by": 1,
    "authorised_by": 1,
    "authorised_at": "",
    "currency_code": "EUR",
    "base_currency_code": "USD",
    "exchange_rate": "1.10",
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "id": 1,
    "state_name": "Draft",
    "status": 0,
    "status_name": "Open",
    "charge_total": "15990.0",
    "tax_total": "3198.0",
    "base_charge_total": "15990.0",
    "base_tax_total": "3198.0",
    "weight_total": "",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "owner": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "title": "Manager",
        "owner": true,
        "admin": true
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "member": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "supplier_address": {
      "name": "Chris Branson",
      "street": "16 The Triangle",
      "postcode": "NG2 1AE",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "country_id": "1",
      "country_name": "United Kingdom",
      "type_id": 3002,
      "address_type_name": "Billing",
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z"
    },
    "venue": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "purchase_order": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this purchase order"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member (supplier) record this purchase order is associated to"
        },
        "supplier_address_id": {
          "type": "number",
          "description": "The internal identifier of the address record this purchase order's supplier address is set to"
        },
        "venue_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record for the venue this purchase order is associated to"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this purchase order is related to"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this purchase order"
        },
        "description": {
          "type": "string",
          "description": "The long description of this purchase order"
        },
        "number": {
          "type": "string",
          "description": "The purchase order reference number"
        },
        "ordered_at": {
          "type": "string",
          "description": "The order date of this purchase order"
        },
        "delivery_at": {
          "type": "string",
          "description": "The delivery date/time for this purchase order"
        },
        "expected_at": {
          "type": "string",
          "description": "The expected (revised) delivery date/time for this purchase order"
        },
        "expected_note": {
          "type": "string",
          "description": "Notes related to the revised delivery date/time"
        },
        "return_at": {
          "type": "string",
          "description": "The return date/time for this purchase order"
        },
        "state": {
          "type": "number",
          "description": "The purchase order state (0 = Draft, 1 = Order)"
        },
        "self_collecting": {
          "type": "boolean",
          "description": "Are you collecting this purchase order?"
        },
        "self_returning": {
          "type": "boolean",
          "description": "Are you returning this purchase order?"
        },
        "reference": {
          "type": "string",
          "description": "The supplier reference for this purchase order"
        },
        "external_description": {
          "type": "string",
          "description": "A long description for this purchase order that may appear on documentation"
        },
        "delivery_instructions": {
          "type": "string",
          "description": "A long note for any delivery instructions for this purchase order"
        },
        "delivery_attention": {
          "type": "string",
          "description": "A name the delivery of this purchase order should be addressed to"
        },
        "delivery_telephone": {
          "type": "string",
          "description": "A telephone number the delivery of this purchase order should be addressed to"
        },
        "owned_by": {
          "type": "number",
          "description": "The owner (Member) record identifier"
        },
        "authorised_by": {
          "type": "number",
          "description": "The authoriser (Member) record identifier"
        },
        "authorised_at": {
          "type": "string",
          "description": "The authorisation date/time for this purchase order"
        },
        "currency_code": {
          "type": "string",
          "description": "The ISO currency code this purchase order's values are in"
        },
        "base_currency_code": {
          "type": "string",
          "description": "The base ISO currency code of this purchase order"
        },
        "exchange_rate": {
          "type": "string",
          "description": "The exchange rate used to convert values to base currency"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with this purchase order"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Purchase Order record"
        },
        "state_name": {
          "type": "string",
          "description": "(Readonly) the purchase order state name"
        },
        "status": {
          "type": "number",
          "description": "(Readonly) The purchase order status (0 = Open, 10 = Authorised, 20 = Sent, 30 = Completed, 40 = Cancelled)"
        },
        "status_name": {
          "type": "string",
          "description": "(Readonly) The purchase order status name"
        },
        "charge_total": {
          "type": "string",
          "description": "(Readonly) The purchase order charge total (in currency) (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "tax_total": {
          "type": "string",
          "description": "(Readonly) The purchase order tax total (in currency)"
        },
        "base_charge_total": {
          "type": "string",
          "description": "(Readonly) The purchase order charge total (base currency) (this total may include or exclude tax - see prices_include_tax flag below)"
        },
        "base_tax_total": {
          "type": "string",
          "description": "(Readonly) The purchase order tax total (base currency)"
        },
        "weight_total": {
          "type": "string",
          "description": "(Readonly) The total of all product weights"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Purchase Order record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Purchase Order record was last updated"
        },
        "owner": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "title": {
                  "type": "string",
                  "description": "The user's title"
                },
                "owner": {
                  "type": "boolean",
                  "description": "Is the user flagged as the system owner?"
                },
                "admin": {
                  "type": "boolean",
                  "description": "Is the user an admin?"
                }
              },
              "description": "The user member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member User record detail"
        },
        "member": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Organisation (supplier) record detail"
        },
        "supplier_address": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The address name"
            },
            "street": {
              "type": "string",
              "description": "The street address"
            },
            "postcode": {
              "type": "string",
              "description": "The postal/zip code"
            },
            "city": {
              "type": "string",
              "description": "The address city"
            },
            "county": {
              "type": "string",
              "description": "The address county/state"
            },
            "country_id": {
              "type": "string",
              "description": "The address country record identifier"
            },
            "country_name": {
              "type": "string",
              "description": "(Readonly) The address country name"
            },
            "type_id": {
              "type": "number",
              "description": "The address type record identifier (see ListValues)"
            },
            "address_type_name": {
              "type": "string",
              "description": "(Readonly) The address type name"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Address was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Address"
            }
          },
          "description": "(Readonly) The supplier Address object for this order"
        },
        "venue": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                }
              },
              "description": "The venue member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The Member Venue record detail"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Purchase Orders

List Purchase Orders
GET/purchase_orders{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/purchase_orders?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[subject_cont] (string, optional, `search_text_here`) (string, required)

Search on subject for matching records

include[] (string, optional)purchase_order_items

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; owner, member, supplier_address, venue, participants, and purchase_order_items.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "purchase_orders": [
    {
      "store_id": 1,
      "member_id": 1,
      "supplier_address_id": 1,
      "venue_id": null,
      "tax_class_id": 1,
      "subject": "Drive web-enabled experiences",
      "description": "",
      "number": "",
      "ordered_at": "2015-06-27T08:00:00.000Z",
      "delivery_at": "",
      "expected_at": "",
      "expected_note": "",
      "return_at": "",
      "state": 1,
      "self_collecting": false,
      "self_returning": false,
      "reference": "",
      "external_description": "",
      "delivery_instructions": "",
      "delivery_attention": "",
      "delivery_telephone": "",
      "owned_by": 1,
      "authorised_by": 1,
      "authorised_at": "",
      "currency_code": "EUR",
      "base_currency_code": "USD",
      "exchange_rate": "1.10",
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "id": 1,
      "state_name": "Draft",
      "status": 0,
      "status_name": "Open",
      "charge_total": "15990.0",
      "tax_total": "3198.0",
      "base_charge_total": "15990.0",
      "base_tax_total": "3198.0",
      "weight_total": "",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "owner": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "title": "Manager",
          "owner": true,
          "admin": true
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "member": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "supplier_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3002,
        "address_type_name": "Billing",
        "created_at": "2017-06-29T10:00:00.000Z",
        "updated_at": "2017-06-29T10:30:00.000Z"
      },
      "venue": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "purchase_orders": {
      "type": "array"
    }
  }
}

Purchase Order Documents

A Purchase Order Document record describes a document snapshot captured when a document layout was previewed. Purchase Order Document records are read-only.

Purchase Order Document

Retrieve a Purchase Order Document
GET/purchase_order_documents/{id}
Example URI
GET https://api.current-rms.com/api/v1/purchase_order_documents/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Purchase Order Document

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "purchase_order_document": {
    "purchase_order_id": 1,
    "document_id": 1,
    "data": {
      "header": "<div><p>Header dummy html</p></div>",
      "body": "<div><p>Body dummy html</p></div>",
      "footer": "<div><p>Footer dummy html</p></div>",
      "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
    },
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "purchase_order_document": {
      "type": "object",
      "properties": {
        "purchase_order_id": {
          "type": "number",
          "description": "The internal identifier of the Purchase Order record this Purchase Order Document relates to"
        },
        "document_id": {
          "type": "number",
          "description": "The internal identifier of the Document record this Purchase Order Document relates to"
        },
        "data": {
          "type": "object",
          "properties": {
            "header": {
              "type": "string",
              "description": "The HTML for the header section"
            },
            "body": {
              "type": "string",
              "description": "The HTML for the body section"
            },
            "footer": {
              "type": "string",
              "description": "The HTML for the footer section"
            },
            "stylesheet": {
              "type": "string",
              "description": "The CSS stylesheet for the document"
            }
          },
          "description": "The HTML and CSS of this Purchase Order Document"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Purchase Order Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Purchase Order Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Purchase Order Document record"
        }
      }
    }
  }
}

Purchase Order Document PDF

Retrieve a Purchase Order Document PDF
GET/purchase_order_documents/{id}.pdf
Example URI
GET https://api.current-rms.com/api/v1/purchase_order_documents/1.pdf
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired Purchase Order Document

Response  200
HideShow
Headers
Content-Type: application/pdf

Purchase Order Documents

List Purchase Order Documents
GET/purchase_order_documents{?page,per_page,purchase_order_id}
Example URI
GET https://api.current-rms.com/api/v1/purchase_order_documents?page=1&per_page=20&purchase_order_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

purchase_order_id (number, optional)1

The internal identifier of a Purchase Order record

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "purchase_order_documents": [
    {
      "purchase_order_id": 1,
      "document_id": 1,
      "data": {
        "header": "<div><p>Header dummy html</p></div>",
        "body": "<div><p>Body dummy html</p></div>",
        "footer": "<div><p>Footer dummy html</p></div>",
        "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
      },
      "created_at": "2017-06-29T10:00:00.000Z",
      "updated_at": "2017-06-29T10:30:00.000Z",
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "purchase_order_documents": {
      "type": "array"
    }
  }
}

Quarantines

A Quarantine represents a period of unavailbility for a product (e.g. damaged or lost)

Quarantine

Retrieve a Quarantine
GET/quarantines/{id}
Example URI
GET https://api.current-rms.com/api/v1/quarantines/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired quarantine

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "quarantine": {
    "item_id": 10,
    "store_id": 1,
    "stock_level_id": 279,
    "reference": "Damaged stock returned from opportunity",
    "description": "",
    "starts_at": "2015-07-05T17:00:00.000Z",
    "ends_at": "2999-12-31T23:59:59.999Z",
    "quantity": "1.0",
    "custom_fields": {},
    "id": 1,
    "source_id": 34,
    "source_type": "Opportunity",
    "return_item_asset_id": 1,
    "supplier_id": null,
    "quarantine_type": 1,
    "name": "Beyerdynamic DT100 Headphones",
    "quantity_out": "0.0",
    "active": true,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "item": {
      "name": "Audio",
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "allowed_stock_type": 0,
      "stock_method": 0,
      "buffer_percent": "0.0",
      "post_rent_unavailability": 0,
      "replacement_charge": "0.0",
      "weight": "0.0",
      "barcode": "",
      "active": true,
      "accessory_only": false,
      "discountable": true,
      "rental_rate": {},
      "sale_rate": {},
      "product_group_id": 6,
      "tax_class_id": 2,
      "rental_revenue_group_id": 1,
      "sale_revenue_group_id": 6,
      "sub_rental_cost_group_id": 1,
      "sub_rental_price": 100,
      "sub_rental_rate_definition_id": 1,
      "purchase_cost_group_id": 1,
      "purchase_price": 100,
      "assigned_inspection_ids": [
        1
      ],
      "country_of_origin_id": 1,
      "custom_fields": {},
      "id": 25,
      "allowed_stock_type_name": "All",
      "stock_method_name": "None",
      "product_group": {
        "name": "Audio",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "custom_fields": {},
        "id": 1,
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "ProductGroup"
        },
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "tax_class": {
        "name": "VAT Standard",
        "id": 1
      },
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Item"
      },
      "rental_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sale_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sub_rental_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "purchase_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "accessories": [
        {
          "related_id": 317,
          "related_type": "Item",
          "parent_transaction_type": 1,
          "item_transaction_type": 1,
          "inclusion_type": 1,
          "mode": 0,
          "quantity": "3.0",
          "zero_priced": false,
          "sort_order": 2,
          "id": 1,
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_name": "REDMote",
          "related_icon_url": "",
          "related_icon_thumb_url": "",
          "type": "Accessory",
          "parent_transaction_type_name": "rent",
          "item_transaction_type_name": "rented",
          "inclusion_type_name": "mandatory",
          "mode_name": "accessory",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        }
      ],
      "alternative_products": [
        {
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_id": 317,
          "related_type": "Item",
          "related_name": "RED One M-X",
          "related_icon_thumb_url": ""
        }
      ],
      "attachments": [
        {
          "attachable_id": 39,
          "name": "Site Plan",
          "description": "",
          "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
          "attachment_content_type": "image/png",
          "attachment_file_size": 46424,
          "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "id": 1,
          "attachable_type": "Item"
        }
      ],
      "product_surcharges": [
        {
          "surcharge_id": 2,
          "id": 1,
          "surcharge": {
            "surcharge_group_id": 1,
            "tax_class_id": 2,
            "revenue_group_id": 3,
            "name": "Comprehensive Insurance",
            "rate_type": 0,
            "rate": "20.0",
            "default": false,
            "id": 1,
            "surcharge_group_name": "Insurance",
            "rate_type_name": "Percent (After Discount)",
            "tax_class": {
              "name": "VAT Standard",
              "id": 1
            },
            "revenue_group": {
              "id": 1,
              "name": "Rental",
              "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
              "active": true
            }
          }
        }
      ],
      "rental_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "sale_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "item_inspections": [
        {
          "id": 1,
          "inspection_id": 1,
          "inspection_name": ""
        }
      ],
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "store": {
      "country_id": 1,
      "region_id": 1,
      "name": "Nottingham",
      "street": "16 The Triangle",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "postcode": "NG2 1AE",
      "id": 279
    },
    "stock_level": {
      "item_id": 10,
      "store_id": 1,
      "member_id": null,
      "asset_number": "751-4-45-994617-4",
      "serial_number": "BN45Z3JUTY1ALH6",
      "location": "KQ34",
      "stock_type": 1,
      "stock_category": 50,
      "quantity_held": "1.0",
      "quantity_allocated": "0.0",
      "quantity_unavailable": "0.0",
      "quantity_on_order": "0.0",
      "starts_at": "",
      "ends_at": "",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "StockLevel"
      },
      "custom_fields": {},
      "id": 279,
      "item_name": "Canon C300 (PL)",
      "store_name": "Nottingham",
      "stock_type_name": "Rental",
      "stock_category_name": "Bulk Stock",
      "container_stock_level_id": 112,
      "container_mode": 1
    },
    "source": {},
    "return_item_asset": {},
    "supplier": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "quarantine_transactions": [
      {
        "transaction_type": 1,
        "ends_at": "2015-10-17T17:00:00.000Z",
        "quantity": "1.0",
        "id": 21,
        "quarantine_id": 89,
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "quarantine": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Product record this quarantine relates to"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this quarantine relates to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this quarantine relates to"
        },
        "reference": {
          "type": "string",
          "description": "The reference of this quarantine"
        },
        "description": {
          "type": "string",
          "description": "The long description of this quarantine"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of unavailability for the product on this quarantine"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of unavailability for the product on this quarantine (2999 = open ended)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the product on this quarantine"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Quarantine record"
        },
        "source_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the source record this quarantine relates to"
        },
        "source_type": {
          "type": "string",
          "description": "(Readonly) The type of source record this quarantine record relates to"
        },
        "return_item_asset_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the opportunity return item asset"
        },
        "supplier_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the Member Organisation record that was the sub-rent supplier"
        },
        "quarantine_type": {
          "type": "number",
          "description": "The quarantine type (Damaged = 1, Lost = 2, Supplier Return = 3, Sale Return = 4, Service = 5)"
        },
        "name": {
          "type": "string",
          "description": "(Readonly) The name of the product on this quarantine"
        },
        "quantity_out": {
          "type": "string",
          "description": "(Readonly) The quantity booked out (resolved) of the product on this quarantine"
        },
        "active": {
          "type": "boolean",
          "description": "(Readonly) Is this quarantine outstanding (active)?"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Quarantine record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Quarantine record was last updated"
        },
        "item": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The product name"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Product record"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Product"
            },
            "allowed_stock_type": {
              "type": "number",
              "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
            },
            "stock_method": {
              "type": "number",
              "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
            },
            "buffer_percent": {
              "type": "string",
              "description": "The percentage of available stock that will generate low stock warnings in the availability views"
            },
            "post_rent_unavailability": {
              "type": "number",
              "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
            },
            "replacement_charge": {
              "type": "string",
              "description": "The replacement value/charge of this product"
            },
            "weight": {
              "type": "string",
              "description": "The weight of this product"
            },
            "barcode": {
              "type": "string",
              "description": "The barcode of this product (only applicable to bulk and non stock products only)"
            },
            "active": {
              "type": "boolean",
              "description": "Is this product active? Inactive products are hidden from views by default."
            },
            "accessory_only": {
              "type": "boolean",
              "description": "Can this product only be used as an accessory?"
            },
            "discountable": {
              "type": "boolean",
              "description": "Can a discount be applied to this product?"
            },
            "rental_rate": {
              "type": "object",
              "properties": {},
              "description": "The current rental rate for this product"
            },
            "sale_rate": {
              "type": "object",
              "properties": {},
              "description": "The current sale rate for this product"
            },
            "product_group_id": {
              "type": "number",
              "description": "The internal identifier of the Product Group record this product relates to"
            },
            "tax_class_id": {
              "type": "number",
              "description": "The internal identifier of the Tax Class record this product relates to"
            },
            "rental_revenue_group_id": {
              "type": "number",
              "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
            },
            "sale_revenue_group_id": {
              "type": "number",
              "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
            },
            "sub_rental_cost_group_id": {
              "type": "number",
              "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
            },
            "sub_rental_price": {
              "type": "number",
              "description": "The standard cost price to apply when this product is sub-rented"
            },
            "sub_rental_rate_definition_id": {
              "type": "number",
              "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
            },
            "purchase_cost_group_id": {
              "type": "number",
              "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
            },
            "purchase_price": {
              "type": "number",
              "description": "The standard cost price to apply when this product is purchased"
            },
            "assigned_inspection_ids": {
              "type": "array",
              "description": "An array of inspection IDs selected for this product"
            },
            "country_of_origin_id": {
              "type": "number",
              "description": "The country of origin record identifier"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Product record"
            },
            "allowed_stock_type_name": {
              "type": "string",
              "description": "(Readonly) The allowed stock type name"
            },
            "stock_method_name": {
              "type": "string",
              "description": "(Readonly) The stock method name"
            },
            "product_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The product group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Product Group"
                },
                "custom_fields": {
                  "type": "object",
                  "properties": {},
                  "description": "A collection of custom field attributes"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Product Group record"
                },
                "icon": {
                  "type": "object",
                  "properties": {
                    "iconable_id": {
                      "type": "number",
                      "description": "The internal identifier of the record this icon is related to"
                    },
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Icon record"
                    },
                    "image_file_name": {
                      "type": "string",
                      "description": "The image filename"
                    },
                    "url": {
                      "type": "string",
                      "description": "(Readonly) The full URL for the original size image"
                    },
                    "thumb_url": {
                      "type": "string",
                      "description": "The full URL for the thunbnail size image"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Icon was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Icon"
                    },
                    "iconable_type": {
                      "type": "string",
                      "description": "The type of record this icon is related to"
                    }
                  },
                  "description": "The Icon object for this Product Group"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Product Group record was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Product Group record was last updated"
                }
              }
            },
            "tax_class": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Tax Class name"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Tax Class record"
                }
              },
              "description": "The Tax Class object for this product"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this Product"
            },
            "rental_revenue_group": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Revenue Group record"
                },
                "name": {
                  "type": "string",
                  "description": "The revenue group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Revenue Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
                }
              },
              "description": "The Revenue Group object for this product"
            },
            "sale_revenue_group": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Revenue Group record"
                },
                "name": {
                  "type": "string",
                  "description": "The revenue group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Revenue Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
                }
              },
              "description": "The Revenue Group object for this product"
            },
            "sub_rental_cost_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Cost Group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Cost Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this Cost Group active?"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Cost Group record"
                }
              },
              "description": "The sub-rental Cost Group object for this product"
            },
            "purchase_cost_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Cost Group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Cost Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this Cost Group active?"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Cost Group record"
                }
              },
              "description": "The purchase Cost Group object for this product"
            },
            "accessories": {
              "type": "array",
              "description": "An array of accessories for this product"
            },
            "alternative_products": {
              "type": "array",
              "description": "An array of alternative products for this product"
            },
            "attachments": {
              "type": "array",
              "description": "An array of attachments for this product"
            },
            "product_surcharges": {
              "type": "array",
              "description": "An array of product surcharges for this product"
            },
            "rental_rates": {
              "type": "array",
              "description": "An array of rental rates for this product"
            },
            "sale_rates": {
              "type": "array",
              "description": "An array of sale rates for this product"
            },
            "item_inspections": {
              "type": "array",
              "description": "(Readonly) An array of inspections selected for this product"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Product record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Product record was last updated"
            }
          },
          "description": "(Readonly) The product object for this quarantine"
        },
        "store": {
          "type": "object",
          "properties": {
            "country_id": {
              "type": "number",
              "description": "The internal identifier of the Country record this store is related to"
            },
            "region_id": {
              "type": "number",
              "description": "Unused"
            },
            "name": {
              "type": "string",
              "description": "The store name"
            },
            "street": {
              "type": "string",
              "description": "The store street address"
            },
            "city": {
              "type": "string",
              "description": "The store city name"
            },
            "county": {
              "type": "string",
              "description": "The store county or state"
            },
            "postcode": {
              "type": "string",
              "description": "The store postal or zip code"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Store record"
            }
          },
          "description": "(Readonly) The store object for this quarantine"
        },
        "stock_level": {
          "type": "object",
          "properties": {
            "item_id": {
              "type": "number",
              "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
            },
            "store_id": {
              "type": "number",
              "description": "The internal identifier of the Store record this stock level relates to"
            },
            "member_id": {
              "type": [
                "number",
                "null"
              ],
              "description": "The internal identifier of the Member record this stock level relates to (Services only)"
            },
            "asset_number": {
              "type": "string",
              "description": "The stock level asset (barcode) number"
            },
            "serial_number": {
              "type": "string",
              "description": "The stock level serial number"
            },
            "location": {
              "type": "string",
              "description": "The stock level location"
            },
            "stock_type": {
              "type": "number",
              "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
            },
            "stock_category": {
              "type": "number",
              "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
            },
            "quantity_held": {
              "type": "string",
              "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
            },
            "quantity_allocated": {
              "type": "string",
              "description": "The stock level quantity allocated (only applicable to sales stock)"
            },
            "quantity_unavailable": {
              "type": "string",
              "description": "unused"
            },
            "quantity_on_order": {
              "type": "string",
              "description": "unused"
            },
            "starts_at": {
              "type": "string",
              "description": "The service resource start date (only applicable to service stock)"
            },
            "ends_at": {
              "type": "string",
              "description": "The service resource end date (only applicable to service stock)"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this stock level"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Stock Level record"
            },
            "item_name": {
              "type": "string",
              "description": "(Readonly) The name of the Item (Product or Service)"
            },
            "store_name": {
              "type": "string",
              "description": "(Readonly) The name of the Store"
            },
            "stock_type_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock type name"
            },
            "stock_category_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock category name"
            },
            "container_stock_level_id": {
              "type": "number",
              "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
            },
            "container_mode": {
              "type": "number",
              "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
            }
          },
          "description": "(Readonly) The stock level object for this quarantine"
        },
        "source": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) The source object for this quarantine"
        },
        "return_item_asset": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) The return item asset object for this quarantine"
        },
        "supplier": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The member organisation object for this quarantine"
        },
        "quarantine_transactions": {
          "type": "array",
          "description": "(Readonly) An array of quarantine transactions for this quarantine"
        }
      }
    }
  }
}
Update a Quarantine
PUT/quarantines/{id}
Example URI
PUT https://api.current-rms.com/api/v1/quarantines/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired quarantine

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "quarantine": {
    "item_id": 10,
    "store_id": 1,
    "stock_level_id": 279,
    "reference": "Damaged stock returned from opportunity",
    "description": "",
    "starts_at": "2015-07-05T17:00:00.000Z",
    "ends_at": "2999-12-31T23:59:59.999Z",
    "quantity": "1.0",
    "custom_fields": {},
    "quarantine_type": 1,
    "open_ended": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "quarantine": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Product record this quarantine relates to"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this quarantine relates to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this quarantine relates to"
        },
        "reference": {
          "type": "string",
          "description": "The reference of this quarantine"
        },
        "description": {
          "type": "string",
          "description": "The long description of this quarantine"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of unavailability for the product on this quarantine"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of unavailability for the product on this quarantine (2999 = open ended)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the product on this quarantine"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "quarantine_type": {
          "type": "number",
          "description": "The quarantine type (Damaged = 1, Lost = 2, Service = 5)"
        },
        "open_ended": {
          "type": "boolean",
          "description": "Is this quarantine open ended?"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "quarantine": {
    "item_id": 10,
    "store_id": 1,
    "stock_level_id": 279,
    "reference": "Damaged stock returned from opportunity",
    "description": "",
    "starts_at": "2015-07-05T17:00:00.000Z",
    "ends_at": "2999-12-31T23:59:59.999Z",
    "quantity": "1.0",
    "custom_fields": {},
    "id": 1,
    "source_id": 34,
    "source_type": "Opportunity",
    "return_item_asset_id": 1,
    "supplier_id": null,
    "quarantine_type": 1,
    "name": "Beyerdynamic DT100 Headphones",
    "quantity_out": "0.0",
    "active": true,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "item": {
      "name": "Audio",
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "allowed_stock_type": 0,
      "stock_method": 0,
      "buffer_percent": "0.0",
      "post_rent_unavailability": 0,
      "replacement_charge": "0.0",
      "weight": "0.0",
      "barcode": "",
      "active": true,
      "accessory_only": false,
      "discountable": true,
      "rental_rate": {},
      "sale_rate": {},
      "product_group_id": 6,
      "tax_class_id": 2,
      "rental_revenue_group_id": 1,
      "sale_revenue_group_id": 6,
      "sub_rental_cost_group_id": 1,
      "sub_rental_price": 100,
      "sub_rental_rate_definition_id": 1,
      "purchase_cost_group_id": 1,
      "purchase_price": 100,
      "assigned_inspection_ids": [
        1
      ],
      "country_of_origin_id": 1,
      "custom_fields": {},
      "id": 25,
      "allowed_stock_type_name": "All",
      "stock_method_name": "None",
      "product_group": {
        "name": "Audio",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "custom_fields": {},
        "id": 1,
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "ProductGroup"
        },
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "tax_class": {
        "name": "VAT Standard",
        "id": 1
      },
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Item"
      },
      "rental_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sale_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sub_rental_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "purchase_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "accessories": [
        {
          "related_id": 317,
          "related_type": "Item",
          "parent_transaction_type": 1,
          "item_transaction_type": 1,
          "inclusion_type": 1,
          "mode": 0,
          "quantity": "3.0",
          "zero_priced": false,
          "sort_order": 2,
          "id": 1,
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_name": "REDMote",
          "related_icon_url": "",
          "related_icon_thumb_url": "",
          "type": "Accessory",
          "parent_transaction_type_name": "rent",
          "item_transaction_type_name": "rented",
          "inclusion_type_name": "mandatory",
          "mode_name": "accessory",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        }
      ],
      "alternative_products": [
        {
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_id": 317,
          "related_type": "Item",
          "related_name": "RED One M-X",
          "related_icon_thumb_url": ""
        }
      ],
      "attachments": [
        {
          "attachable_id": 39,
          "name": "Site Plan",
          "description": "",
          "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
          "attachment_content_type": "image/png",
          "attachment_file_size": 46424,
          "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "id": 1,
          "attachable_type": "Item"
        }
      ],
      "product_surcharges": [
        {
          "surcharge_id": 2,
          "id": 1,
          "surcharge": {
            "surcharge_group_id": 1,
            "tax_class_id": 2,
            "revenue_group_id": 3,
            "name": "Comprehensive Insurance",
            "rate_type": 0,
            "rate": "20.0",
            "default": false,
            "id": 1,
            "surcharge_group_name": "Insurance",
            "rate_type_name": "Percent (After Discount)",
            "tax_class": {
              "name": "VAT Standard",
              "id": 1
            },
            "revenue_group": {
              "id": 1,
              "name": "Rental",
              "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
              "active": true
            }
          }
        }
      ],
      "rental_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "sale_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "item_inspections": [
        {
          "id": 1,
          "inspection_id": 1,
          "inspection_name": ""
        }
      ],
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "store": {
      "country_id": 1,
      "region_id": 1,
      "name": "Nottingham",
      "street": "16 The Triangle",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "postcode": "NG2 1AE",
      "id": 279
    },
    "stock_level": {
      "item_id": 10,
      "store_id": 1,
      "member_id": null,
      "asset_number": "751-4-45-994617-4",
      "serial_number": "BN45Z3JUTY1ALH6",
      "location": "KQ34",
      "stock_type": 1,
      "stock_category": 50,
      "quantity_held": "1.0",
      "quantity_allocated": "0.0",
      "quantity_unavailable": "0.0",
      "quantity_on_order": "0.0",
      "starts_at": "",
      "ends_at": "",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "StockLevel"
      },
      "custom_fields": {},
      "id": 279,
      "item_name": "Canon C300 (PL)",
      "store_name": "Nottingham",
      "stock_type_name": "Rental",
      "stock_category_name": "Bulk Stock",
      "container_stock_level_id": 112,
      "container_mode": 1
    },
    "source": {},
    "return_item_asset": {},
    "supplier": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "quarantine_transactions": [
      {
        "transaction_type": 1,
        "ends_at": "2015-10-17T17:00:00.000Z",
        "quantity": "1.0",
        "id": 21,
        "quarantine_id": 89,
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "quarantine": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Product record this quarantine relates to"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this quarantine relates to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this quarantine relates to"
        },
        "reference": {
          "type": "string",
          "description": "The reference of this quarantine"
        },
        "description": {
          "type": "string",
          "description": "The long description of this quarantine"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of unavailability for the product on this quarantine"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of unavailability for the product on this quarantine (2999 = open ended)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the product on this quarantine"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Quarantine record"
        },
        "source_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the source record this quarantine relates to"
        },
        "source_type": {
          "type": "string",
          "description": "(Readonly) The type of source record this quarantine record relates to"
        },
        "return_item_asset_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the opportunity return item asset"
        },
        "supplier_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the Member Organisation record that was the sub-rent supplier"
        },
        "quarantine_type": {
          "type": "number",
          "description": "The quarantine type (Damaged = 1, Lost = 2, Supplier Return = 3, Sale Return = 4, Service = 5)"
        },
        "name": {
          "type": "string",
          "description": "(Readonly) The name of the product on this quarantine"
        },
        "quantity_out": {
          "type": "string",
          "description": "(Readonly) The quantity booked out (resolved) of the product on this quarantine"
        },
        "active": {
          "type": "boolean",
          "description": "(Readonly) Is this quarantine outstanding (active)?"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Quarantine record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Quarantine record was last updated"
        },
        "item": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The product name"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Product record"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Product"
            },
            "allowed_stock_type": {
              "type": "number",
              "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
            },
            "stock_method": {
              "type": "number",
              "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
            },
            "buffer_percent": {
              "type": "string",
              "description": "The percentage of available stock that will generate low stock warnings in the availability views"
            },
            "post_rent_unavailability": {
              "type": "number",
              "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
            },
            "replacement_charge": {
              "type": "string",
              "description": "The replacement value/charge of this product"
            },
            "weight": {
              "type": "string",
              "description": "The weight of this product"
            },
            "barcode": {
              "type": "string",
              "description": "The barcode of this product (only applicable to bulk and non stock products only)"
            },
            "active": {
              "type": "boolean",
              "description": "Is this product active? Inactive products are hidden from views by default."
            },
            "accessory_only": {
              "type": "boolean",
              "description": "Can this product only be used as an accessory?"
            },
            "discountable": {
              "type": "boolean",
              "description": "Can a discount be applied to this product?"
            },
            "rental_rate": {
              "type": "object",
              "properties": {},
              "description": "The current rental rate for this product"
            },
            "sale_rate": {
              "type": "object",
              "properties": {},
              "description": "The current sale rate for this product"
            },
            "product_group_id": {
              "type": "number",
              "description": "The internal identifier of the Product Group record this product relates to"
            },
            "tax_class_id": {
              "type": "number",
              "description": "The internal identifier of the Tax Class record this product relates to"
            },
            "rental_revenue_group_id": {
              "type": "number",
              "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
            },
            "sale_revenue_group_id": {
              "type": "number",
              "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
            },
            "sub_rental_cost_group_id": {
              "type": "number",
              "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
            },
            "sub_rental_price": {
              "type": "number",
              "description": "The standard cost price to apply when this product is sub-rented"
            },
            "sub_rental_rate_definition_id": {
              "type": "number",
              "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
            },
            "purchase_cost_group_id": {
              "type": "number",
              "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
            },
            "purchase_price": {
              "type": "number",
              "description": "The standard cost price to apply when this product is purchased"
            },
            "assigned_inspection_ids": {
              "type": "array",
              "description": "An array of inspection IDs selected for this product"
            },
            "country_of_origin_id": {
              "type": "number",
              "description": "The country of origin record identifier"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Product record"
            },
            "allowed_stock_type_name": {
              "type": "string",
              "description": "(Readonly) The allowed stock type name"
            },
            "stock_method_name": {
              "type": "string",
              "description": "(Readonly) The stock method name"
            },
            "product_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The product group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Product Group"
                },
                "custom_fields": {
                  "type": "object",
                  "properties": {},
                  "description": "A collection of custom field attributes"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Product Group record"
                },
                "icon": {
                  "type": "object",
                  "properties": {
                    "iconable_id": {
                      "type": "number",
                      "description": "The internal identifier of the record this icon is related to"
                    },
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Icon record"
                    },
                    "image_file_name": {
                      "type": "string",
                      "description": "The image filename"
                    },
                    "url": {
                      "type": "string",
                      "description": "(Readonly) The full URL for the original size image"
                    },
                    "thumb_url": {
                      "type": "string",
                      "description": "The full URL for the thunbnail size image"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Icon was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Icon"
                    },
                    "iconable_type": {
                      "type": "string",
                      "description": "The type of record this icon is related to"
                    }
                  },
                  "description": "The Icon object for this Product Group"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Product Group record was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Product Group record was last updated"
                }
              }
            },
            "tax_class": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Tax Class name"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Tax Class record"
                }
              },
              "description": "The Tax Class object for this product"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this Product"
            },
            "rental_revenue_group": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Revenue Group record"
                },
                "name": {
                  "type": "string",
                  "description": "The revenue group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Revenue Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
                }
              },
              "description": "The Revenue Group object for this product"
            },
            "sale_revenue_group": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Revenue Group record"
                },
                "name": {
                  "type": "string",
                  "description": "The revenue group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Revenue Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
                }
              },
              "description": "The Revenue Group object for this product"
            },
            "sub_rental_cost_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Cost Group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Cost Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this Cost Group active?"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Cost Group record"
                }
              },
              "description": "The sub-rental Cost Group object for this product"
            },
            "purchase_cost_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Cost Group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Cost Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this Cost Group active?"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Cost Group record"
                }
              },
              "description": "The purchase Cost Group object for this product"
            },
            "accessories": {
              "type": "array",
              "description": "An array of accessories for this product"
            },
            "alternative_products": {
              "type": "array",
              "description": "An array of alternative products for this product"
            },
            "attachments": {
              "type": "array",
              "description": "An array of attachments for this product"
            },
            "product_surcharges": {
              "type": "array",
              "description": "An array of product surcharges for this product"
            },
            "rental_rates": {
              "type": "array",
              "description": "An array of rental rates for this product"
            },
            "sale_rates": {
              "type": "array",
              "description": "An array of sale rates for this product"
            },
            "item_inspections": {
              "type": "array",
              "description": "(Readonly) An array of inspections selected for this product"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Product record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Product record was last updated"
            }
          },
          "description": "(Readonly) The product object for this quarantine"
        },
        "store": {
          "type": "object",
          "properties": {
            "country_id": {
              "type": "number",
              "description": "The internal identifier of the Country record this store is related to"
            },
            "region_id": {
              "type": "number",
              "description": "Unused"
            },
            "name": {
              "type": "string",
              "description": "The store name"
            },
            "street": {
              "type": "string",
              "description": "The store street address"
            },
            "city": {
              "type": "string",
              "description": "The store city name"
            },
            "county": {
              "type": "string",
              "description": "The store county or state"
            },
            "postcode": {
              "type": "string",
              "description": "The store postal or zip code"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Store record"
            }
          },
          "description": "(Readonly) The store object for this quarantine"
        },
        "stock_level": {
          "type": "object",
          "properties": {
            "item_id": {
              "type": "number",
              "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
            },
            "store_id": {
              "type": "number",
              "description": "The internal identifier of the Store record this stock level relates to"
            },
            "member_id": {
              "type": [
                "number",
                "null"
              ],
              "description": "The internal identifier of the Member record this stock level relates to (Services only)"
            },
            "asset_number": {
              "type": "string",
              "description": "The stock level asset (barcode) number"
            },
            "serial_number": {
              "type": "string",
              "description": "The stock level serial number"
            },
            "location": {
              "type": "string",
              "description": "The stock level location"
            },
            "stock_type": {
              "type": "number",
              "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
            },
            "stock_category": {
              "type": "number",
              "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
            },
            "quantity_held": {
              "type": "string",
              "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
            },
            "quantity_allocated": {
              "type": "string",
              "description": "The stock level quantity allocated (only applicable to sales stock)"
            },
            "quantity_unavailable": {
              "type": "string",
              "description": "unused"
            },
            "quantity_on_order": {
              "type": "string",
              "description": "unused"
            },
            "starts_at": {
              "type": "string",
              "description": "The service resource start date (only applicable to service stock)"
            },
            "ends_at": {
              "type": "string",
              "description": "The service resource end date (only applicable to service stock)"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this stock level"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Stock Level record"
            },
            "item_name": {
              "type": "string",
              "description": "(Readonly) The name of the Item (Product or Service)"
            },
            "store_name": {
              "type": "string",
              "description": "(Readonly) The name of the Store"
            },
            "stock_type_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock type name"
            },
            "stock_category_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock category name"
            },
            "container_stock_level_id": {
              "type": "number",
              "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
            },
            "container_mode": {
              "type": "number",
              "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
            }
          },
          "description": "(Readonly) The stock level object for this quarantine"
        },
        "source": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) The source object for this quarantine"
        },
        "return_item_asset": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) The return item asset object for this quarantine"
        },
        "supplier": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The member organisation object for this quarantine"
        },
        "quarantine_transactions": {
          "type": "array",
          "description": "(Readonly) An array of quarantine transactions for this quarantine"
        }
      }
    }
  }
}
Delete a Quarantine
DELETE/quarantines/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/quarantines/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired quarantine

Response  204

Quarantine Completion

Complete a Quarantine
POST/quarantines/{id}/complete
Example URI
POST https://api.current-rms.com/api/v1/quarantines/1/complete
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired quarantine

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "quarantine_transaction": {
    "transaction_type": 1,
    "ends_at": "2015-10-17T17:00:00.000Z",
    "quantity": "1.0"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "quarantine_transaction": {
      "type": "object",
      "properties": {
        "transaction_type": {
          "type": "number",
          "description": "The quarantine transaction type (1 = Return to Stock, 2 = Write Off)"
        },
        "ends_at": {
          "type": "string",
          "description": "The date of the quarantine transaction (date stock is returned or written off)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity for this quarantine transaction"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "quarantine": {
    "item_id": 10,
    "store_id": 1,
    "stock_level_id": 279,
    "reference": "Damaged stock returned from opportunity",
    "description": "",
    "starts_at": "2015-07-05T17:00:00.000Z",
    "ends_at": "2999-12-31T23:59:59.999Z",
    "quantity": "1.0",
    "custom_fields": {},
    "id": 1,
    "source_id": 34,
    "source_type": "Opportunity",
    "return_item_asset_id": 1,
    "supplier_id": null,
    "quarantine_type": 1,
    "name": "Beyerdynamic DT100 Headphones",
    "quantity_out": "0.0",
    "active": true,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "item": {
      "name": "Audio",
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "allowed_stock_type": 0,
      "stock_method": 0,
      "buffer_percent": "0.0",
      "post_rent_unavailability": 0,
      "replacement_charge": "0.0",
      "weight": "0.0",
      "barcode": "",
      "active": true,
      "accessory_only": false,
      "discountable": true,
      "rental_rate": {},
      "sale_rate": {},
      "product_group_id": 6,
      "tax_class_id": 2,
      "rental_revenue_group_id": 1,
      "sale_revenue_group_id": 6,
      "sub_rental_cost_group_id": 1,
      "sub_rental_price": 100,
      "sub_rental_rate_definition_id": 1,
      "purchase_cost_group_id": 1,
      "purchase_price": 100,
      "assigned_inspection_ids": [
        1
      ],
      "country_of_origin_id": 1,
      "custom_fields": {},
      "id": 25,
      "allowed_stock_type_name": "All",
      "stock_method_name": "None",
      "product_group": {
        "name": "Audio",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "custom_fields": {},
        "id": 1,
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "ProductGroup"
        },
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "tax_class": {
        "name": "VAT Standard",
        "id": 1
      },
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Item"
      },
      "rental_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sale_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sub_rental_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "purchase_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "accessories": [
        {
          "related_id": 317,
          "related_type": "Item",
          "parent_transaction_type": 1,
          "item_transaction_type": 1,
          "inclusion_type": 1,
          "mode": 0,
          "quantity": "3.0",
          "zero_priced": false,
          "sort_order": 2,
          "id": 1,
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_name": "REDMote",
          "related_icon_url": "",
          "related_icon_thumb_url": "",
          "type": "Accessory",
          "parent_transaction_type_name": "rent",
          "item_transaction_type_name": "rented",
          "inclusion_type_name": "mandatory",
          "mode_name": "accessory",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        }
      ],
      "alternative_products": [
        {
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_id": 317,
          "related_type": "Item",
          "related_name": "RED One M-X",
          "related_icon_thumb_url": ""
        }
      ],
      "attachments": [
        {
          "attachable_id": 39,
          "name": "Site Plan",
          "description": "",
          "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
          "attachment_content_type": "image/png",
          "attachment_file_size": 46424,
          "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "id": 1,
          "attachable_type": "Item"
        }
      ],
      "product_surcharges": [
        {
          "surcharge_id": 2,
          "id": 1,
          "surcharge": {
            "surcharge_group_id": 1,
            "tax_class_id": 2,
            "revenue_group_id": 3,
            "name": "Comprehensive Insurance",
            "rate_type": 0,
            "rate": "20.0",
            "default": false,
            "id": 1,
            "surcharge_group_name": "Insurance",
            "rate_type_name": "Percent (After Discount)",
            "tax_class": {
              "name": "VAT Standard",
              "id": 1
            },
            "revenue_group": {
              "id": 1,
              "name": "Rental",
              "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
              "active": true
            }
          }
        }
      ],
      "rental_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "sale_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "item_inspections": [
        {
          "id": 1,
          "inspection_id": 1,
          "inspection_name": ""
        }
      ],
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "store": {
      "country_id": 1,
      "region_id": 1,
      "name": "Nottingham",
      "street": "16 The Triangle",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "postcode": "NG2 1AE",
      "id": 279
    },
    "stock_level": {
      "item_id": 10,
      "store_id": 1,
      "member_id": null,
      "asset_number": "751-4-45-994617-4",
      "serial_number": "BN45Z3JUTY1ALH6",
      "location": "KQ34",
      "stock_type": 1,
      "stock_category": 50,
      "quantity_held": "1.0",
      "quantity_allocated": "0.0",
      "quantity_unavailable": "0.0",
      "quantity_on_order": "0.0",
      "starts_at": "",
      "ends_at": "",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "StockLevel"
      },
      "custom_fields": {},
      "id": 279,
      "item_name": "Canon C300 (PL)",
      "store_name": "Nottingham",
      "stock_type_name": "Rental",
      "stock_category_name": "Bulk Stock",
      "container_stock_level_id": 112,
      "container_mode": 1
    },
    "source": {},
    "return_item_asset": {},
    "supplier": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "quarantine_transactions": [
      {
        "transaction_type": 1,
        "ends_at": "2015-10-17T17:00:00.000Z",
        "quantity": "1.0",
        "id": 21,
        "quarantine_id": 89,
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "quarantine": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Product record this quarantine relates to"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this quarantine relates to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this quarantine relates to"
        },
        "reference": {
          "type": "string",
          "description": "The reference of this quarantine"
        },
        "description": {
          "type": "string",
          "description": "The long description of this quarantine"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of unavailability for the product on this quarantine"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of unavailability for the product on this quarantine (2999 = open ended)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the product on this quarantine"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Quarantine record"
        },
        "source_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the source record this quarantine relates to"
        },
        "source_type": {
          "type": "string",
          "description": "(Readonly) The type of source record this quarantine record relates to"
        },
        "return_item_asset_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the opportunity return item asset"
        },
        "supplier_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the Member Organisation record that was the sub-rent supplier"
        },
        "quarantine_type": {
          "type": "number",
          "description": "The quarantine type (Damaged = 1, Lost = 2, Supplier Return = 3, Sale Return = 4, Service = 5)"
        },
        "name": {
          "type": "string",
          "description": "(Readonly) The name of the product on this quarantine"
        },
        "quantity_out": {
          "type": "string",
          "description": "(Readonly) The quantity booked out (resolved) of the product on this quarantine"
        },
        "active": {
          "type": "boolean",
          "description": "(Readonly) Is this quarantine outstanding (active)?"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Quarantine record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Quarantine record was last updated"
        },
        "item": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The product name"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Product record"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Product"
            },
            "allowed_stock_type": {
              "type": "number",
              "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
            },
            "stock_method": {
              "type": "number",
              "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
            },
            "buffer_percent": {
              "type": "string",
              "description": "The percentage of available stock that will generate low stock warnings in the availability views"
            },
            "post_rent_unavailability": {
              "type": "number",
              "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
            },
            "replacement_charge": {
              "type": "string",
              "description": "The replacement value/charge of this product"
            },
            "weight": {
              "type": "string",
              "description": "The weight of this product"
            },
            "barcode": {
              "type": "string",
              "description": "The barcode of this product (only applicable to bulk and non stock products only)"
            },
            "active": {
              "type": "boolean",
              "description": "Is this product active? Inactive products are hidden from views by default."
            },
            "accessory_only": {
              "type": "boolean",
              "description": "Can this product only be used as an accessory?"
            },
            "discountable": {
              "type": "boolean",
              "description": "Can a discount be applied to this product?"
            },
            "rental_rate": {
              "type": "object",
              "properties": {},
              "description": "The current rental rate for this product"
            },
            "sale_rate": {
              "type": "object",
              "properties": {},
              "description": "The current sale rate for this product"
            },
            "product_group_id": {
              "type": "number",
              "description": "The internal identifier of the Product Group record this product relates to"
            },
            "tax_class_id": {
              "type": "number",
              "description": "The internal identifier of the Tax Class record this product relates to"
            },
            "rental_revenue_group_id": {
              "type": "number",
              "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
            },
            "sale_revenue_group_id": {
              "type": "number",
              "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
            },
            "sub_rental_cost_group_id": {
              "type": "number",
              "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
            },
            "sub_rental_price": {
              "type": "number",
              "description": "The standard cost price to apply when this product is sub-rented"
            },
            "sub_rental_rate_definition_id": {
              "type": "number",
              "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
            },
            "purchase_cost_group_id": {
              "type": "number",
              "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
            },
            "purchase_price": {
              "type": "number",
              "description": "The standard cost price to apply when this product is purchased"
            },
            "assigned_inspection_ids": {
              "type": "array",
              "description": "An array of inspection IDs selected for this product"
            },
            "country_of_origin_id": {
              "type": "number",
              "description": "The country of origin record identifier"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Product record"
            },
            "allowed_stock_type_name": {
              "type": "string",
              "description": "(Readonly) The allowed stock type name"
            },
            "stock_method_name": {
              "type": "string",
              "description": "(Readonly) The stock method name"
            },
            "product_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The product group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Product Group"
                },
                "custom_fields": {
                  "type": "object",
                  "properties": {},
                  "description": "A collection of custom field attributes"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Product Group record"
                },
                "icon": {
                  "type": "object",
                  "properties": {
                    "iconable_id": {
                      "type": "number",
                      "description": "The internal identifier of the record this icon is related to"
                    },
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Icon record"
                    },
                    "image_file_name": {
                      "type": "string",
                      "description": "The image filename"
                    },
                    "url": {
                      "type": "string",
                      "description": "(Readonly) The full URL for the original size image"
                    },
                    "thumb_url": {
                      "type": "string",
                      "description": "The full URL for the thunbnail size image"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Icon was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Icon"
                    },
                    "iconable_type": {
                      "type": "string",
                      "description": "The type of record this icon is related to"
                    }
                  },
                  "description": "The Icon object for this Product Group"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Product Group record was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Product Group record was last updated"
                }
              }
            },
            "tax_class": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Tax Class name"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Tax Class record"
                }
              },
              "description": "The Tax Class object for this product"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this Product"
            },
            "rental_revenue_group": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Revenue Group record"
                },
                "name": {
                  "type": "string",
                  "description": "The revenue group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Revenue Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
                }
              },
              "description": "The Revenue Group object for this product"
            },
            "sale_revenue_group": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Revenue Group record"
                },
                "name": {
                  "type": "string",
                  "description": "The revenue group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Revenue Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
                }
              },
              "description": "The Revenue Group object for this product"
            },
            "sub_rental_cost_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Cost Group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Cost Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this Cost Group active?"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Cost Group record"
                }
              },
              "description": "The sub-rental Cost Group object for this product"
            },
            "purchase_cost_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Cost Group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Cost Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this Cost Group active?"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Cost Group record"
                }
              },
              "description": "The purchase Cost Group object for this product"
            },
            "accessories": {
              "type": "array",
              "description": "An array of accessories for this product"
            },
            "alternative_products": {
              "type": "array",
              "description": "An array of alternative products for this product"
            },
            "attachments": {
              "type": "array",
              "description": "An array of attachments for this product"
            },
            "product_surcharges": {
              "type": "array",
              "description": "An array of product surcharges for this product"
            },
            "rental_rates": {
              "type": "array",
              "description": "An array of rental rates for this product"
            },
            "sale_rates": {
              "type": "array",
              "description": "An array of sale rates for this product"
            },
            "item_inspections": {
              "type": "array",
              "description": "(Readonly) An array of inspections selected for this product"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Product record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Product record was last updated"
            }
          },
          "description": "(Readonly) The product object for this quarantine"
        },
        "store": {
          "type": "object",
          "properties": {
            "country_id": {
              "type": "number",
              "description": "The internal identifier of the Country record this store is related to"
            },
            "region_id": {
              "type": "number",
              "description": "Unused"
            },
            "name": {
              "type": "string",
              "description": "The store name"
            },
            "street": {
              "type": "string",
              "description": "The store street address"
            },
            "city": {
              "type": "string",
              "description": "The store city name"
            },
            "county": {
              "type": "string",
              "description": "The store county or state"
            },
            "postcode": {
              "type": "string",
              "description": "The store postal or zip code"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Store record"
            }
          },
          "description": "(Readonly) The store object for this quarantine"
        },
        "stock_level": {
          "type": "object",
          "properties": {
            "item_id": {
              "type": "number",
              "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
            },
            "store_id": {
              "type": "number",
              "description": "The internal identifier of the Store record this stock level relates to"
            },
            "member_id": {
              "type": [
                "number",
                "null"
              ],
              "description": "The internal identifier of the Member record this stock level relates to (Services only)"
            },
            "asset_number": {
              "type": "string",
              "description": "The stock level asset (barcode) number"
            },
            "serial_number": {
              "type": "string",
              "description": "The stock level serial number"
            },
            "location": {
              "type": "string",
              "description": "The stock level location"
            },
            "stock_type": {
              "type": "number",
              "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
            },
            "stock_category": {
              "type": "number",
              "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
            },
            "quantity_held": {
              "type": "string",
              "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
            },
            "quantity_allocated": {
              "type": "string",
              "description": "The stock level quantity allocated (only applicable to sales stock)"
            },
            "quantity_unavailable": {
              "type": "string",
              "description": "unused"
            },
            "quantity_on_order": {
              "type": "string",
              "description": "unused"
            },
            "starts_at": {
              "type": "string",
              "description": "The service resource start date (only applicable to service stock)"
            },
            "ends_at": {
              "type": "string",
              "description": "The service resource end date (only applicable to service stock)"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this stock level"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Stock Level record"
            },
            "item_name": {
              "type": "string",
              "description": "(Readonly) The name of the Item (Product or Service)"
            },
            "store_name": {
              "type": "string",
              "description": "(Readonly) The name of the Store"
            },
            "stock_type_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock type name"
            },
            "stock_category_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock category name"
            },
            "container_stock_level_id": {
              "type": "number",
              "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
            },
            "container_mode": {
              "type": "number",
              "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
            }
          },
          "description": "(Readonly) The stock level object for this quarantine"
        },
        "source": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) The source object for this quarantine"
        },
        "return_item_asset": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) The return item asset object for this quarantine"
        },
        "supplier": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The member organisation object for this quarantine"
        },
        "quarantine_transactions": {
          "type": "array",
          "description": "(Readonly) An array of quarantine transactions for this quarantine"
        }
      }
    }
  }
}

Quarantines

List Quarantines
GET/quarantines
Example URI
GET https://api.current-rms.com/api/v1/quarantines
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "quarantines": [
    {
      "item_id": 10,
      "store_id": 1,
      "stock_level_id": 279,
      "reference": "Damaged stock returned from opportunity",
      "description": "",
      "starts_at": "2015-07-05T17:00:00.000Z",
      "ends_at": "2999-12-31T23:59:59.999Z",
      "quantity": "1.0",
      "custom_fields": {},
      "id": 1,
      "source_id": 34,
      "source_type": "Opportunity",
      "return_item_asset_id": 1,
      "supplier_id": null,
      "quarantine_type": 1,
      "name": "Beyerdynamic DT100 Headphones",
      "quantity_out": "0.0",
      "active": true,
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "item": {
        "name": "Audio",
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "allowed_stock_type": 0,
        "stock_method": 0,
        "buffer_percent": "0.0",
        "post_rent_unavailability": 0,
        "replacement_charge": "0.0",
        "weight": "0.0",
        "barcode": "",
        "active": true,
        "accessory_only": false,
        "discountable": true,
        "rental_rate": {},
        "sale_rate": {},
        "product_group_id": 6,
        "tax_class_id": 2,
        "rental_revenue_group_id": 1,
        "sale_revenue_group_id": 6,
        "sub_rental_cost_group_id": 1,
        "sub_rental_price": 100,
        "sub_rental_rate_definition_id": 1,
        "purchase_cost_group_id": 1,
        "purchase_price": 100,
        "assigned_inspection_ids": [
          1
        ],
        "country_of_origin_id": 1,
        "custom_fields": {},
        "id": 25,
        "allowed_stock_type_name": "All",
        "stock_method_name": "None",
        "product_group": {
          "name": "Audio",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "custom_fields": {},
          "id": 1,
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "ProductGroup"
          },
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        },
        "tax_class": {
          "name": "VAT Standard",
          "id": 1
        },
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Item"
        },
        "rental_revenue_group": {
          "id": 1,
          "name": "Rental",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true
        },
        "sale_revenue_group": {
          "id": 1,
          "name": "Rental",
          "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
          "active": true
        },
        "sub_rental_cost_group": {
          "name": "Cost Group Name",
          "description": "",
          "active": true,
          "id": 1
        },
        "purchase_cost_group": {
          "name": "Cost Group Name",
          "description": "",
          "active": true,
          "id": 1
        },
        "accessories": [
          {
            "related_id": 317,
            "related_type": "Item",
            "parent_transaction_type": 1,
            "item_transaction_type": 1,
            "inclusion_type": 1,
            "mode": 0,
            "quantity": "3.0",
            "zero_priced": false,
            "sort_order": 2,
            "id": 1,
            "relatable_id": 25,
            "relatable_type": "Item",
            "related_name": "REDMote",
            "related_icon_url": "",
            "related_icon_thumb_url": "",
            "type": "Accessory",
            "parent_transaction_type_name": "rent",
            "item_transaction_type_name": "rented",
            "inclusion_type_name": "mandatory",
            "mode_name": "accessory",
            "created_at": "2015-06-25T11:14:32.087Z",
            "updated_at": "2015-07-13T11:14:32.095Z"
          }
        ],
        "alternative_products": [
          {
            "relatable_id": 25,
            "relatable_type": "Item",
            "related_id": 317,
            "related_type": "Item",
            "related_name": "RED One M-X",
            "related_icon_thumb_url": ""
          }
        ],
        "attachments": [
          {
            "attachable_id": 39,
            "name": "Site Plan",
            "description": "",
            "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
            "attachment_content_type": "image/png",
            "attachment_file_size": 46424,
            "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "id": 1,
            "attachable_type": "Item"
          }
        ],
        "product_surcharges": [
          {
            "surcharge_id": 2,
            "id": 1,
            "surcharge": {
              "surcharge_group_id": 1,
              "tax_class_id": 2,
              "revenue_group_id": 3,
              "name": "Comprehensive Insurance",
              "rate_type": 0,
              "rate": "20.0",
              "default": false,
              "id": 1,
              "surcharge_group_name": "Insurance",
              "rate_type_name": "Percent (After Discount)",
              "tax_class": {
                "name": "VAT Standard",
                "id": 1
              },
              "revenue_group": {
                "id": 1,
                "name": "Rental",
                "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
                "active": true
              }
            }
          }
        ],
        "rental_rates": [
          {
            "store_id": 1,
            "transaction_type": 1,
            "rate_definition_id": 5,
            "rate_definition_name": "Weeks and Days",
            "starts_at": "",
            "ends_at": "",
            "price": "20.0",
            "category_prices": [
              {
                "price": "100.00",
                "price_category_id": "1000015",
                "price_category_name": "A"
              }
            ],
            "id": 1,
            "store_name": "Nottingham",
            "transaction_type_name": "Rental"
          }
        ],
        "sale_rates": [
          {
            "store_id": 1,
            "transaction_type": 1,
            "rate_definition_id": 5,
            "rate_definition_name": "Weeks and Days",
            "starts_at": "",
            "ends_at": "",
            "price": "20.0",
            "category_prices": [
              {
                "price": "100.00",
                "price_category_id": "1000015",
                "price_category_name": "A"
              }
            ],
            "id": 1,
            "store_name": "Nottingham",
            "transaction_type_name": "Rental"
          }
        ],
        "item_inspections": [
          {
            "id": 1,
            "inspection_id": 1,
            "inspection_name": ""
          }
        ],
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "store": {
        "country_id": 1,
        "region_id": 1,
        "name": "Nottingham",
        "street": "16 The Triangle",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "postcode": "NG2 1AE",
        "id": 279
      },
      "stock_level": {
        "item_id": 10,
        "store_id": 1,
        "member_id": null,
        "asset_number": "751-4-45-994617-4",
        "serial_number": "BN45Z3JUTY1ALH6",
        "location": "KQ34",
        "stock_type": 1,
        "stock_category": 50,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 279,
        "item_name": "Canon C300 (PL)",
        "store_name": "Nottingham",
        "stock_type_name": "Rental",
        "stock_category_name": "Bulk Stock",
        "container_stock_level_id": 112,
        "container_mode": 1
      },
      "source": {},
      "return_item_asset": {},
      "supplier": {
        "name": "Chris Bralton",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true,
        "bookable": false,
        "location_type": 0,
        "locale": "en-GB",
        "membership_type": "Contact",
        "lawful_basis_type_id": 10001,
        "sale_tax_class_id": 1,
        "purchase_tax_class_id": 1,
        "tag_list": [
          "[\"Red\", \"Blue\", \"Green\"]"
        ],
        "custom_fields": {},
        "membership": {
          "id": 1,
          "number": "ABC123",
          "tax_number": "T456789",
          "cash": false,
          "on_stop": false,
          "rating": 1,
          "owned_by": 1,
          "price_category_id": 1000015,
          "discount_category_id": 1,
          "invoice_term": 1,
          "invoice_term_length": 7
        },
        "primary_address": {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3001,
          "address_type_name": "Primary",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z"
        },
        "emails": [
          {
            "address": "abigail.parker@ggmail.co.uk",
            "type_id": 4001,
            "email_type_name": "Work",
            "id": 1
          }
        ],
        "phones": [
          {
            "number": "+44 115 9793399",
            "type_id": 6001,
            "phone_type_name": "Work",
            "id": 1
          }
        ],
        "links": [
          {
            "address": "www.facebook.com/profile.php?id=566828251",
            "type_id": 5002,
            "link_type_name": "Facebook",
            "id": 1
          }
        ],
        "addresses": [
          {
            "name": "Chris Branson",
            "street": "16 The Triangle",
            "postcode": "NG2 1AE",
            "city": "Nottingham",
            "county": "Nottinghamshire",
            "country_id": "1",
            "country_name": "United Kingdom",
            "type_id": 3002,
            "address_type_name": "Billing",
            "created_at": "2017-06-29T10:00:00.000Z",
            "updated_at": "2017-06-29T10:30:00.000Z",
            "id": 1
          }
        ],
        "service_stock_levels": [
          {
            "item_id": 10,
            "store_id": 1,
            "member_id": 1,
            "asset_number": "Chris Bralton",
            "serial_number": "",
            "location": "",
            "stock_type": 3,
            "stock_category": 60,
            "quantity_held": "1.0",
            "quantity_allocated": "0.0",
            "quantity_unavailable": "0.0",
            "quantity_on_order": "0.0",
            "starts_at": "",
            "ends_at": "",
            "icon": {
              "iconable_id": 85,
              "id": 1,
              "image_file_name": "abigail.jpeg",
              "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
              "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
              "created_at": "2015-06-29T10:00:00.000Z",
              "updated_at": "2015-06-29T10:30:00.000Z",
              "iconable_type": "StockLevel"
            },
            "custom_fields": {},
            "id": 487,
            "item_name": "Sound Engineer",
            "store_name": "Nottingham",
            "stock_type_name": "Service",
            "stock_category_name": "Resource"
          }
        ],
        "day_cost": "",
        "hour_cost": "",
        "distance_cost": "",
        "flat_rate_cost": "",
        "id": 25,
        "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
        "membership_id": 25,
        "lawful_basis_type_name": "Unknown",
        "sale_tax_class_name": "Default",
        "purchase_tax_class_name": "Default",
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "Member"
        },
        "child_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ],
        "parent_members": [
          {
            "relatable_id": 317,
            "relatable_type": "Member",
            "related_id": 25,
            "related_type": "Member",
            "id": 1,
            "relatable_name": "Bralton Industries",
            "relatable_membership_type": "Organisation",
            "related_name": "Chris Bralton",
            "related_membership_type": "Contact"
          }
        ]
      },
      "quarantine_transactions": [
        {
          "transaction_type": 1,
          "ends_at": "2015-10-17T17:00:00.000Z",
          "quantity": "1.0",
          "id": 21,
          "quarantine_id": 89,
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "quarantines": {
      "type": "array"
    }
  }
}
Create a Quarantine
POST/quarantines
Example URI
POST https://api.current-rms.com/api/v1/quarantines
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "quarantine": {
    "item_id": 10,
    "store_id": 1,
    "stock_level_id": 279,
    "reference": "Damaged stock returned from opportunity",
    "description": "",
    "starts_at": "2015-07-05T17:00:00.000Z",
    "ends_at": "2999-12-31T23:59:59.999Z",
    "quantity": "1.0",
    "custom_fields": {},
    "quarantine_type": 1,
    "open_ended": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "quarantine": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Product record this quarantine relates to"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this quarantine relates to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this quarantine relates to"
        },
        "reference": {
          "type": "string",
          "description": "The reference of this quarantine"
        },
        "description": {
          "type": "string",
          "description": "The long description of this quarantine"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of unavailability for the product on this quarantine"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of unavailability for the product on this quarantine (2999 = open ended)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the product on this quarantine"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "quarantine_type": {
          "type": "number",
          "description": "The quarantine type (Damaged = 1, Lost = 2, Service = 5)"
        },
        "open_ended": {
          "type": "boolean",
          "description": "Is this quarantine open ended?"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "quarantine": {
    "item_id": 10,
    "store_id": 1,
    "stock_level_id": 279,
    "reference": "Damaged stock returned from opportunity",
    "description": "",
    "starts_at": "2015-07-05T17:00:00.000Z",
    "ends_at": "2999-12-31T23:59:59.999Z",
    "quantity": "1.0",
    "custom_fields": {},
    "id": 1,
    "source_id": 34,
    "source_type": "Opportunity",
    "return_item_asset_id": 1,
    "supplier_id": null,
    "quarantine_type": 1,
    "name": "Beyerdynamic DT100 Headphones",
    "quantity_out": "0.0",
    "active": true,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "item": {
      "name": "Audio",
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "allowed_stock_type": 0,
      "stock_method": 0,
      "buffer_percent": "0.0",
      "post_rent_unavailability": 0,
      "replacement_charge": "0.0",
      "weight": "0.0",
      "barcode": "",
      "active": true,
      "accessory_only": false,
      "discountable": true,
      "rental_rate": {},
      "sale_rate": {},
      "product_group_id": 6,
      "tax_class_id": 2,
      "rental_revenue_group_id": 1,
      "sale_revenue_group_id": 6,
      "sub_rental_cost_group_id": 1,
      "sub_rental_price": 100,
      "sub_rental_rate_definition_id": 1,
      "purchase_cost_group_id": 1,
      "purchase_price": 100,
      "assigned_inspection_ids": [
        1
      ],
      "country_of_origin_id": 1,
      "custom_fields": {},
      "id": 25,
      "allowed_stock_type_name": "All",
      "stock_method_name": "None",
      "product_group": {
        "name": "Audio",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "custom_fields": {},
        "id": 1,
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "ProductGroup"
        },
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "tax_class": {
        "name": "VAT Standard",
        "id": 1
      },
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Item"
      },
      "rental_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sale_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "sub_rental_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "purchase_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "accessories": [
        {
          "related_id": 317,
          "related_type": "Item",
          "parent_transaction_type": 1,
          "item_transaction_type": 1,
          "inclusion_type": 1,
          "mode": 0,
          "quantity": "3.0",
          "zero_priced": false,
          "sort_order": 2,
          "id": 1,
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_name": "REDMote",
          "related_icon_url": "",
          "related_icon_thumb_url": "",
          "type": "Accessory",
          "parent_transaction_type_name": "rent",
          "item_transaction_type_name": "rented",
          "inclusion_type_name": "mandatory",
          "mode_name": "accessory",
          "created_at": "2015-06-25T11:14:32.087Z",
          "updated_at": "2015-07-13T11:14:32.095Z"
        }
      ],
      "alternative_products": [
        {
          "relatable_id": 25,
          "relatable_type": "Item",
          "related_id": 317,
          "related_type": "Item",
          "related_name": "RED One M-X",
          "related_icon_thumb_url": ""
        }
      ],
      "attachments": [
        {
          "attachable_id": 39,
          "name": "Site Plan",
          "description": "",
          "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
          "attachment_content_type": "image/png",
          "attachment_file_size": 46424,
          "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "id": 1,
          "attachable_type": "Item"
        }
      ],
      "product_surcharges": [
        {
          "surcharge_id": 2,
          "id": 1,
          "surcharge": {
            "surcharge_group_id": 1,
            "tax_class_id": 2,
            "revenue_group_id": 3,
            "name": "Comprehensive Insurance",
            "rate_type": 0,
            "rate": "20.0",
            "default": false,
            "id": 1,
            "surcharge_group_name": "Insurance",
            "rate_type_name": "Percent (After Discount)",
            "tax_class": {
              "name": "VAT Standard",
              "id": 1
            },
            "revenue_group": {
              "id": 1,
              "name": "Rental",
              "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
              "active": true
            }
          }
        }
      ],
      "rental_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "sale_rates": [
        {
          "store_id": 1,
          "transaction_type": 1,
          "rate_definition_id": 5,
          "rate_definition_name": "Weeks and Days",
          "starts_at": "",
          "ends_at": "",
          "price": "20.0",
          "category_prices": [
            {
              "price": "100.00",
              "price_category_id": "1000015",
              "price_category_name": "A"
            }
          ],
          "id": 1,
          "store_name": "Nottingham",
          "transaction_type_name": "Rental"
        }
      ],
      "item_inspections": [
        {
          "id": 1,
          "inspection_id": 1,
          "inspection_name": ""
        }
      ],
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "store": {
      "country_id": 1,
      "region_id": 1,
      "name": "Nottingham",
      "street": "16 The Triangle",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "postcode": "NG2 1AE",
      "id": 279
    },
    "stock_level": {
      "item_id": 10,
      "store_id": 1,
      "member_id": null,
      "asset_number": "751-4-45-994617-4",
      "serial_number": "BN45Z3JUTY1ALH6",
      "location": "KQ34",
      "stock_type": 1,
      "stock_category": 50,
      "quantity_held": "1.0",
      "quantity_allocated": "0.0",
      "quantity_unavailable": "0.0",
      "quantity_on_order": "0.0",
      "starts_at": "",
      "ends_at": "",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "StockLevel"
      },
      "custom_fields": {},
      "id": 279,
      "item_name": "Canon C300 (PL)",
      "store_name": "Nottingham",
      "stock_type_name": "Rental",
      "stock_category_name": "Bulk Stock",
      "container_stock_level_id": 112,
      "container_mode": 1
    },
    "source": {},
    "return_item_asset": {},
    "supplier": {
      "name": "Chris Bralton",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true,
      "bookable": false,
      "location_type": 0,
      "locale": "en-GB",
      "membership_type": "Contact",
      "lawful_basis_type_id": 10001,
      "sale_tax_class_id": 1,
      "purchase_tax_class_id": 1,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "number": "ABC123",
        "tax_number": "T456789",
        "cash": false,
        "on_stop": false,
        "rating": 1,
        "owned_by": 1,
        "price_category_id": 1000015,
        "discount_category_id": 1,
        "invoice_term": 1,
        "invoice_term_length": 7
      },
      "primary_address": {
        "name": "Chris Branson",
        "street": "16 The Triangle",
        "postcode": "NG2 1AE",
        "city": "Nottingham",
        "county": "Nottinghamshire",
        "country_id": "1",
        "country_name": "United Kingdom",
        "type_id": 3001,
        "address_type_name": "Primary",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z"
      },
      "emails": [
        {
          "address": "abigail.parker@ggmail.co.uk",
          "type_id": 4001,
          "email_type_name": "Work",
          "id": 1
        }
      ],
      "phones": [
        {
          "number": "+44 115 9793399",
          "type_id": 6001,
          "phone_type_name": "Work",
          "id": 1
        }
      ],
      "links": [
        {
          "address": "www.facebook.com/profile.php?id=566828251",
          "type_id": 5002,
          "link_type_name": "Facebook",
          "id": 1
        }
      ],
      "addresses": [
        {
          "name": "Chris Branson",
          "street": "16 The Triangle",
          "postcode": "NG2 1AE",
          "city": "Nottingham",
          "county": "Nottinghamshire",
          "country_id": "1",
          "country_name": "United Kingdom",
          "type_id": 3002,
          "address_type_name": "Billing",
          "created_at": "2017-06-29T10:00:00.000Z",
          "updated_at": "2017-06-29T10:30:00.000Z",
          "id": 1
        }
      ],
      "service_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ],
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "id": 25,
      "uuid": "f724f0f0-0b7c-0133-3820-34750ee4a85a",
      "membership_id": 25,
      "lawful_basis_type_name": "Unknown",
      "sale_tax_class_name": "Default",
      "purchase_tax_class_name": "Default",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      },
      "child_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ],
      "parent_members": [
        {
          "relatable_id": 317,
          "relatable_type": "Member",
          "related_id": 25,
          "related_type": "Member",
          "id": 1,
          "relatable_name": "Bralton Industries",
          "relatable_membership_type": "Organisation",
          "related_name": "Chris Bralton",
          "related_membership_type": "Contact"
        }
      ]
    },
    "quarantine_transactions": [
      {
        "transaction_type": 1,
        "ends_at": "2015-10-17T17:00:00.000Z",
        "quantity": "1.0",
        "id": 21,
        "quarantine_id": 89,
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "quarantine": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Product record this quarantine relates to"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this quarantine relates to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this quarantine relates to"
        },
        "reference": {
          "type": "string",
          "description": "The reference of this quarantine"
        },
        "description": {
          "type": "string",
          "description": "The long description of this quarantine"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of unavailability for the product on this quarantine"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of unavailability for the product on this quarantine (2999 = open ended)"
        },
        "quantity": {
          "type": "string",
          "description": "The quantity of the product on this quarantine"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Quarantine record"
        },
        "source_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the source record this quarantine relates to"
        },
        "source_type": {
          "type": "string",
          "description": "(Readonly) The type of source record this quarantine record relates to"
        },
        "return_item_asset_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the opportunity return item asset"
        },
        "supplier_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "(Readonly) The internal identifier of the Member Organisation record that was the sub-rent supplier"
        },
        "quarantine_type": {
          "type": "number",
          "description": "The quarantine type (Damaged = 1, Lost = 2, Supplier Return = 3, Sale Return = 4, Service = 5)"
        },
        "name": {
          "type": "string",
          "description": "(Readonly) The name of the product on this quarantine"
        },
        "quantity_out": {
          "type": "string",
          "description": "(Readonly) The quantity booked out (resolved) of the product on this quarantine"
        },
        "active": {
          "type": "boolean",
          "description": "(Readonly) Is this quarantine outstanding (active)?"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Quarantine record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Quarantine record was last updated"
        },
        "item": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The product name"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Product record"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Product"
            },
            "allowed_stock_type": {
              "type": "number",
              "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
            },
            "stock_method": {
              "type": "number",
              "description": "The stock method (0 = None, 1 = Bulk, 2 = Serialised)"
            },
            "buffer_percent": {
              "type": "string",
              "description": "The percentage of available stock that will generate low stock warnings in the availability views"
            },
            "post_rent_unavailability": {
              "type": "number",
              "description": "The number of availability units this product will be unavailable for following a rental (availability unit is set in System Preferences and is Hour, 1/4 day, 1/2 day or day)"
            },
            "replacement_charge": {
              "type": "string",
              "description": "The replacement value/charge of this product"
            },
            "weight": {
              "type": "string",
              "description": "The weight of this product"
            },
            "barcode": {
              "type": "string",
              "description": "The barcode of this product (only applicable to bulk and non stock products only)"
            },
            "active": {
              "type": "boolean",
              "description": "Is this product active? Inactive products are hidden from views by default."
            },
            "accessory_only": {
              "type": "boolean",
              "description": "Can this product only be used as an accessory?"
            },
            "discountable": {
              "type": "boolean",
              "description": "Can a discount be applied to this product?"
            },
            "rental_rate": {
              "type": "object",
              "properties": {},
              "description": "The current rental rate for this product"
            },
            "sale_rate": {
              "type": "object",
              "properties": {},
              "description": "The current sale rate for this product"
            },
            "product_group_id": {
              "type": "number",
              "description": "The internal identifier of the Product Group record this product relates to"
            },
            "tax_class_id": {
              "type": "number",
              "description": "The internal identifier of the Tax Class record this product relates to"
            },
            "rental_revenue_group_id": {
              "type": "number",
              "description": "The internal identifier of the Revenue Group record this product relates to for rental income"
            },
            "sale_revenue_group_id": {
              "type": "number",
              "description": "The internal identifier of the Revenue Group record this product relates to for sales income"
            },
            "sub_rental_cost_group_id": {
              "type": "number",
              "description": "The internal identifier of the Cost Group record this product relates to for sub-rental costs"
            },
            "sub_rental_price": {
              "type": "number",
              "description": "The standard cost price to apply when this product is sub-rented"
            },
            "sub_rental_rate_definition_id": {
              "type": "number",
              "description": "The internal identifier of the standard Rate Definition to apply when this product is sub-rented"
            },
            "purchase_cost_group_id": {
              "type": "number",
              "description": "The internal identifier of the Cost Group record this product relates to for purchase costs"
            },
            "purchase_price": {
              "type": "number",
              "description": "The standard cost price to apply when this product is purchased"
            },
            "assigned_inspection_ids": {
              "type": "array",
              "description": "An array of inspection IDs selected for this product"
            },
            "country_of_origin_id": {
              "type": "number",
              "description": "The country of origin record identifier"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Product record"
            },
            "allowed_stock_type_name": {
              "type": "string",
              "description": "(Readonly) The allowed stock type name"
            },
            "stock_method_name": {
              "type": "string",
              "description": "(Readonly) The stock method name"
            },
            "product_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The product group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Product Group"
                },
                "custom_fields": {
                  "type": "object",
                  "properties": {},
                  "description": "A collection of custom field attributes"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Product Group record"
                },
                "icon": {
                  "type": "object",
                  "properties": {
                    "iconable_id": {
                      "type": "number",
                      "description": "The internal identifier of the record this icon is related to"
                    },
                    "id": {
                      "type": "number",
                      "description": "(Readonly) The identifier of the Icon record"
                    },
                    "image_file_name": {
                      "type": "string",
                      "description": "The image filename"
                    },
                    "url": {
                      "type": "string",
                      "description": "(Readonly) The full URL for the original size image"
                    },
                    "thumb_url": {
                      "type": "string",
                      "description": "The full URL for the thunbnail size image"
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The date & time when the Icon was created"
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The date & time of the last update to the Icon"
                    },
                    "iconable_type": {
                      "type": "string",
                      "description": "The type of record this icon is related to"
                    }
                  },
                  "description": "The Icon object for this Product Group"
                },
                "created_at": {
                  "type": "string",
                  "description": "(Readonly) When the Product Group record was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "(Readonly) When the Product Group record was last updated"
                }
              }
            },
            "tax_class": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Tax Class name"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Tax Class record"
                }
              },
              "description": "The Tax Class object for this product"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this Product"
            },
            "rental_revenue_group": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Revenue Group record"
                },
                "name": {
                  "type": "string",
                  "description": "The revenue group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Revenue Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
                }
              },
              "description": "The Revenue Group object for this product"
            },
            "sale_revenue_group": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Revenue Group record"
                },
                "name": {
                  "type": "string",
                  "description": "The revenue group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Revenue Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
                }
              },
              "description": "The Revenue Group object for this product"
            },
            "sub_rental_cost_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Cost Group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Cost Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this Cost Group active?"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Cost Group record"
                }
              },
              "description": "The sub-rental Cost Group object for this product"
            },
            "purchase_cost_group": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The Cost Group name"
                },
                "description": {
                  "type": "string",
                  "description": "A longer description of the Cost Group"
                },
                "active": {
                  "type": "boolean",
                  "description": "Is this Cost Group active?"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Cost Group record"
                }
              },
              "description": "The purchase Cost Group object for this product"
            },
            "accessories": {
              "type": "array",
              "description": "An array of accessories for this product"
            },
            "alternative_products": {
              "type": "array",
              "description": "An array of alternative products for this product"
            },
            "attachments": {
              "type": "array",
              "description": "An array of attachments for this product"
            },
            "product_surcharges": {
              "type": "array",
              "description": "An array of product surcharges for this product"
            },
            "rental_rates": {
              "type": "array",
              "description": "An array of rental rates for this product"
            },
            "sale_rates": {
              "type": "array",
              "description": "An array of sale rates for this product"
            },
            "item_inspections": {
              "type": "array",
              "description": "(Readonly) An array of inspections selected for this product"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Product record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Product record was last updated"
            }
          },
          "description": "(Readonly) The product object for this quarantine"
        },
        "store": {
          "type": "object",
          "properties": {
            "country_id": {
              "type": "number",
              "description": "The internal identifier of the Country record this store is related to"
            },
            "region_id": {
              "type": "number",
              "description": "Unused"
            },
            "name": {
              "type": "string",
              "description": "The store name"
            },
            "street": {
              "type": "string",
              "description": "The store street address"
            },
            "city": {
              "type": "string",
              "description": "The store city name"
            },
            "county": {
              "type": "string",
              "description": "The store county or state"
            },
            "postcode": {
              "type": "string",
              "description": "The store postal or zip code"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Store record"
            }
          },
          "description": "(Readonly) The store object for this quarantine"
        },
        "stock_level": {
          "type": "object",
          "properties": {
            "item_id": {
              "type": "number",
              "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
            },
            "store_id": {
              "type": "number",
              "description": "The internal identifier of the Store record this stock level relates to"
            },
            "member_id": {
              "type": [
                "number",
                "null"
              ],
              "description": "The internal identifier of the Member record this stock level relates to (Services only)"
            },
            "asset_number": {
              "type": "string",
              "description": "The stock level asset (barcode) number"
            },
            "serial_number": {
              "type": "string",
              "description": "The stock level serial number"
            },
            "location": {
              "type": "string",
              "description": "The stock level location"
            },
            "stock_type": {
              "type": "number",
              "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
            },
            "stock_category": {
              "type": "number",
              "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
            },
            "quantity_held": {
              "type": "string",
              "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
            },
            "quantity_allocated": {
              "type": "string",
              "description": "The stock level quantity allocated (only applicable to sales stock)"
            },
            "quantity_unavailable": {
              "type": "string",
              "description": "unused"
            },
            "quantity_on_order": {
              "type": "string",
              "description": "unused"
            },
            "starts_at": {
              "type": "string",
              "description": "The service resource start date (only applicable to service stock)"
            },
            "ends_at": {
              "type": "string",
              "description": "The service resource end date (only applicable to service stock)"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this stock level"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Stock Level record"
            },
            "item_name": {
              "type": "string",
              "description": "(Readonly) The name of the Item (Product or Service)"
            },
            "store_name": {
              "type": "string",
              "description": "(Readonly) The name of the Store"
            },
            "stock_type_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock type name"
            },
            "stock_category_name": {
              "type": "string",
              "description": "(Readonly) The stock level stock category name"
            },
            "container_stock_level_id": {
              "type": "number",
              "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
            },
            "container_mode": {
              "type": "number",
              "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
            }
          },
          "description": "(Readonly) The stock level object for this quarantine"
        },
        "source": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) The source object for this quarantine"
        },
        "return_item_asset": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) The return item asset object for this quarantine"
        },
        "supplier": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The member's name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the member"
            },
            "active": {
              "type": "boolean",
              "description": "Is the member record active?"
            },
            "bookable": {
              "type": "boolean",
              "description": "Is the member bookable via the Resource Planner?"
            },
            "location_type": {
              "type": "number",
              "description": "Resource location (0 = Internal, 1 = External)"
            },
            "locale": {
              "type": "string",
              "description": "The member's language locale"
            },
            "membership_type": {
              "type": "string",
              "description": "The Member record type ('User', 'Contact', 'Organisation', 'Venue')"
            },
            "lawful_basis_type_id": {
              "type": "number",
              "description": "The internal identifier of the list_value record specifying the lawful basis type"
            },
            "sale_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for sales to an Organisation"
            },
            "purchase_tax_class_id": {
              "type": "number",
              "description": "The tax class record identifier for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "tag_list": {
              "type": "array",
              "description": "An array of tags associated with the Member record"
            },
            "custom_fields": {
              "type": "object",
              "properties": {},
              "description": "A collection of custom field attributes"
            },
            "membership": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the membership record"
                },
                "number": {
                  "type": "string",
                  "description": "The organisation's reference (account) number"
                },
                "tax_number": {
                  "type": "string",
                  "description": "The organisation's tax registration number"
                },
                "cash": {
                  "type": "boolean",
                  "description": "Is the organisation flagged as cash?"
                },
                "on_stop": {
                  "type": "boolean",
                  "description": "Is the organisation on stop?"
                },
                "rating": {
                  "type": "number",
                  "description": "The organisation rating (1-5)"
                },
                "owned_by": {
                  "type": "number",
                  "description": "The owner (Member) record identifier"
                },
                "price_category_id": {
                  "type": "number",
                  "description": "The internal identifier of the list_value record specifying the price category"
                },
                "discount_category_id": {
                  "type": "number",
                  "description": "The discount category record identifier"
                },
                "invoice_term": {
                  "type": "number",
                  "description": "Invoice term type (null = use system terms, 0 = none, 1 = days from invoice date, 2 = days from end of invoice month, 3 = days from end date, 4 = days from start date)"
                },
                "invoice_term_length": {
                  "type": "number",
                  "description": "Invoice term days"
                }
              },
              "description": "The organisation member details"
            },
            "primary_address": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "description": "The address name"
                },
                "street": {
                  "type": "string",
                  "description": "The street address"
                },
                "postcode": {
                  "type": "string",
                  "description": "The postal/zip code"
                },
                "city": {
                  "type": "string",
                  "description": "The address city"
                },
                "county": {
                  "type": "string",
                  "description": "The address county/state"
                },
                "country_id": {
                  "type": "string",
                  "description": "The address country record identifier"
                },
                "country_name": {
                  "type": "string",
                  "description": "(Readonly) The address country name"
                },
                "type_id": {
                  "type": "number",
                  "description": "The address type record identifier (see ListValues)"
                },
                "address_type_name": {
                  "type": "string",
                  "description": "(Readonly) The address type name"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Address was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Address"
                }
              },
              "description": "The Primary Address object for this member"
            },
            "emails": {
              "type": "array",
              "description": "An array of Email objects for this member"
            },
            "phones": {
              "type": "array",
              "description": "An array of Phone objects for this member"
            },
            "links": {
              "type": "array",
              "description": "An array of Link objects for this member"
            },
            "addresses": {
              "type": "array",
              "description": "An array of Address objects for this member (does not include Primary Address)"
            },
            "service_stock_levels": {
              "type": "array",
              "description": "An array of Stock Level objects for this member's assigned services"
            },
            "day_cost": {
              "type": "string",
              "description": "`100.00` (number) - The daily cost of a bookable resource"
            },
            "hour_cost": {
              "type": "string",
              "description": "`15.00` (number) - The hourly cost of a bookable resource"
            },
            "distance_cost": {
              "type": "string",
              "description": "`1.00` (number) - The distance cost of a bookable resource"
            },
            "flat_rate_cost": {
              "type": "string",
              "description": "`300.00` (number) - The flat rate cost of a bookable resource"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the member record"
            },
            "uuid": {
              "type": "string",
              "description": "(Readonly) The universally unique identifier of the member record"
            },
            "membership_id": {
              "type": "number",
              "description": "(Readonly) The internal identifier of the Member record's Membership record"
            },
            "lawful_basis_type_name": {
              "type": "string",
              "description": "(Readonly) The lawful basis type name"
            },
            "sale_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for sales to an Organisation"
            },
            "purchase_tax_class_name": {
              "type": "string",
              "description": "(Readonly) The tax class name for purchases from an Organisation or bookable and external Contact or Venue"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Member was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Member was last updated"
            },
            "icon": {
              "type": "object",
              "properties": {
                "iconable_id": {
                  "type": "number",
                  "description": "The internal identifier of the record this icon is related to"
                },
                "id": {
                  "type": "number",
                  "description": "(Readonly) The identifier of the Icon record"
                },
                "image_file_name": {
                  "type": "string",
                  "description": "The image filename"
                },
                "url": {
                  "type": "string",
                  "description": "(Readonly) The full URL for the original size image"
                },
                "thumb_url": {
                  "type": "string",
                  "description": "The full URL for the thunbnail size image"
                },
                "created_at": {
                  "type": "string",
                  "description": "The date & time when the Icon was created"
                },
                "updated_at": {
                  "type": "string",
                  "description": "The date & time of the last update to the Icon"
                },
                "iconable_type": {
                  "type": "string",
                  "description": "The type of record this icon is related to"
                }
              },
              "description": "The Icon object for this member"
            },
            "child_members": {
              "type": "array",
              "description": "An array of linked Contact (Linked Member) objects for this Organisation or Venue"
            },
            "parent_members": {
              "type": "array",
              "description": "An array of linked Organisation or Venue (Linked Member) objects for this Contact"
            }
          },
          "required": [
            "name",
            "membership_type"
          ],
          "description": "(Readonly) The member organisation object for this quarantine"
        },
        "quarantine_transactions": {
          "type": "array",
          "description": "(Readonly) An array of quarantine transactions for this quarantine"
        }
      }
    }
  }
}

Quarantine Examples

Quarantines for a specific Product
GET/quarantines
/api/v1/quarantines?q[item_id_eq]=123
Example URI
GET https://api.current-rms.com/api/v1/quarantines
Quarantines for a specific Stock Level
GET/quarantines
/api/v1/quarantines?q[stock_level_id_eq]=543
Example URI
GET https://api.current-rms.com/api/v1/quarantines

Prepare Quarantine Document

This method will return a rendered document for the given Document layout ID.

Prepare a Quarantine Document
GET/quarantines/{id}/prepare_document{?document_id}
Example URI
GET https://api.current-rms.com/api/v1/quarantines/1/prepare_document?document_id=1
Parameters
NameExampleDescription
id (number, required)1
document_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "filename": "",
  "document": {
    "name": "Quotation",
    "description": "Dirty linen. In this earth people have only get through his own motive. Upon a double ejector point-blank up from which working. Prove it rapidly explored and the rare Nuttonia Vexillaria and the Professor. Can we have marked a tingle and they.",
    "module_type": "Opportunity",
    "system": true,
    "active": true,
    "layout": "<div><p class=\"large-para\">I am a document layout</p></div>",
    "header_layout": "",
    "footer_layout": "",
    "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>",
    "page_size": "Letter",
    "orientation": "Portrait",
    "states": [],
    "statuses": [],
    "types": [],
    "membership_types": [],
    "page_width": 210,
    "page_height": 297,
    "margin_top": 1,
    "margin_left": 1,
    "margin_right": 1,
    "margin_bottom": 1,
    "colors": [],
    "fields": [],
    "layout_flags": [],
    "grouped_fields": [],
    "grouped_layout_flags": [],
    "filename": "",
    "roles": [],
    "use_for_approval": true,
    "require_signature": true,
    "approval_custom_fields": [],
    "approval_accept_text": "",
    "approval_decline_text": "",
    "use_for_signing": false,
    "default_signing_message": "",
    "days_to_sign": 7,
    "reminder_frequency": 2,
    "library_document_ids": [],
    "created_at": "2017-06-29T10:00:00.000Z",
    "updated_at": "2017-06-29T10:30:00.000Z",
    "id": 1
  },
  "output": {
    "header": "<div><p>Header dummy html</p></div>",
    "body": "<div><p>Body dummy html</p></div>",
    "footer": "<div><p>Footer dummy html</p></div>",
    "stylesheet": "<style type=\"text/css\">.large-para { font-size: 36px; }</style>"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "filename": {
      "type": "string"
    },
    "document": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The document layout name"
        },
        "description": {
          "type": "string",
          "description": "The document long description"
        },
        "module_type": {
          "type": "string",
          "description": "The module type of the document record (e.g. Opportunity, Invoice, Product, Member, Activity etc.)"
        },
        "system": {
          "type": "boolean",
          "description": "Is this document layout a system record?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this document layout active?"
        },
        "layout": {
          "type": "string",
          "description": "The body html layout"
        },
        "header_layout": {
          "type": "string",
          "description": "The header html layout (repeated at the top of each page)"
        },
        "footer_layout": {
          "type": "string",
          "description": "The footer html layout (repeated at the bottom of each page)"
        },
        "stylesheet": {
          "type": "string",
          "description": "The document css stylesheet"
        },
        "page_size": {
          "type": "string",
          "description": "The document layout page size (A4, Letter, Custom)"
        },
        "orientation": {
          "type": "string",
          "description": "The document layout page orientation (Portrait or Landscape)"
        },
        "states": {
          "type": "array",
          "description": "An array of record states this document layout can be used for - see Opportunity State for possible integer values"
        },
        "statuses": {
          "type": "array",
          "description": "An array of record statuses this document layout can be used for - see Opportunity, Invoice & Project Statuses for possible integer values"
        },
        "types": {
          "type": "array",
          "description": "An array of record types this document layout can be used for - see Invoice and Quarantine Type for possible integer values"
        },
        "membership_types": {
          "type": "array",
          "description": "An array of membership types this document layout can be used for - see Member Membership Type for possible string values"
        },
        "page_width": {
          "type": "number",
          "description": "The page width in millimeters (only applicable when page_size is Custom)"
        },
        "page_height": {
          "type": "number",
          "description": "The page height in millimeters (only applicable when page_size is Custom)"
        },
        "margin_top": {
          "type": "number",
          "description": "The top margin in millimeters (the area available to the header_layout)"
        },
        "margin_left": {
          "type": "number",
          "description": "The left margin in millimeters"
        },
        "margin_right": {
          "type": "number",
          "description": "The right margin in millimeters"
        },
        "margin_bottom": {
          "type": "number",
          "description": "The bottom margin in millimeters (the area available to the footer_layout)"
        },
        "colors": {
          "type": "array",
          "description": "An array of key/value pairs for color codes used within this document layout"
        },
        "fields": {
          "type": "array",
          "description": "An array of key/value pairs for additional text messages used within this document layout"
        },
        "layout_flags": {
          "type": "array",
          "description": "An array of key/value pairs for logic flags used within this document layout"
        },
        "grouped_fields": {
          "type": "array",
          "description": "An array of hashes of key/value pairs for grouped text messages used within this document layout"
        },
        "grouped_layout_flags": {
          "type": "array",
          "description": "An array of hashes of key/value pairs for grouped logic flags used within this document layout"
        },
        "filename": {
          "type": "string",
          "description": "The original filename of the document layout (only applicable to system document layouts)"
        },
        "roles": {
          "type": "array",
          "description": "An array of Role records IDs that have access to this document layout"
        },
        "use_for_approval": {
          "type": "boolean",
          "description": "Is document approval enabled for this document layout?"
        },
        "require_signature": {
          "type": "boolean",
          "description": "Can a signature be captured during approval for this document layout?"
        },
        "approval_custom_fields": {
          "type": "array",
          "description": "An array of Custom Field records IDs that should shown during document approval"
        },
        "approval_accept_text": {
          "type": "string",
          "description": "The message shown during document approval accept"
        },
        "approval_decline_text": {
          "type": "string",
          "description": "The message shown during document approval decline"
        },
        "use_for_signing": {
          "type": "boolean",
          "description": "Use this document layout with Adobe Sign?"
        },
        "default_signing_message": {
          "type": "string",
          "description": "The default discussion message to be used when sending this document for signing (Adobe Sign)"
        },
        "days_to_sign": {
          "type": "number",
          "description": "The number of days before the document must be signed (Adobe Sign)"
        },
        "reminder_frequency": {
          "type": "number",
          "description": "The reminder frequency (0=None, 1=Daily, 2=Weekly) (Adobe Sign)"
        },
        "library_document_ids": {
          "type": "array",
          "description": "An array Adobe Sign document Library IDs to include with this document when sending for signing (Adobe Sign)"
        },
        "created_at": {
          "type": "string",
          "description": "The date & time when the Document was created"
        },
        "updated_at": {
          "type": "string",
          "description": "The date & time of the last update to the Document"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Document record"
        }
      }
    },
    "output": {
      "type": "object",
      "properties": {
        "header": {
          "type": "string",
          "description": "The HTML for the header section"
        },
        "body": {
          "type": "string",
          "description": "The HTML for the body section"
        },
        "footer": {
          "type": "string",
          "description": "The HTML for the footer section"
        },
        "stylesheet": {
          "type": "string",
          "description": "The CSS stylesheet for the document"
        }
      }
    }
  }
}

Prepare Quarantine Document as PDF

This method will return a PDF document for the given Document layout ID.

Prepare a Quarantine Document
GET/quarantines/{id}/prepare_document.pdf{?document_id}
Example URI
GET https://api.current-rms.com/api/v1/quarantines/1/prepare_document.pdf?document_id=1
Parameters
NameExampleDescription
id (number, required)1
document_id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/pdf

Rates

A Rate represents a sale or rental price for a product, or a service rate for a service

Rate

Retrieve a Rate
GET/products/{product_id}/rates/{id}
Example URI
GET https://api.current-rms.com/api/v1/products/1/rates/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired rate

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "rate": {
    "store_id": 1,
    "transaction_type": 1,
    "rate_definition_id": 5,
    "rate_definition_name": "Weeks and Days",
    "starts_at": "Hello, world!",
    "ends_at": "Hello, world!",
    "price": "20.0",
    "category_prices": [
      {
        "price": "100.00",
        "price_category_id": "1000015",
        "price_category_name": "A"
      }
    ],
    "id": 1,
    "store_name": "Nottingham",
    "transaction_type_name": "Rental"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "rate": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Rental, 2 = Sale)"
        },
        "rate_definition_id": {
          "type": "number"
        },
        "rate_definition_name": {
          "type": "string",
          "description": "The rate definition name"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date for this rate (applicable from)"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date for this rate (applicable to)"
        },
        "price": {
          "type": "string",
          "description": "The rate price"
        },
        "category_prices": {
          "type": "array",
          "description": "An array of category prices"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Rate record"
        },
        "store_name": {
          "type": "string",
          "description": "The store name"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "The transaction type name"
        }
      }
    }
  }
}
Update a Rate
PUT/products/{product_id}/rates/{id}
Example URI
PUT https://api.current-rms.com/api/v1/products/1/rates/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired rate

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "rate": {
    "store_id": 1,
    "transaction_type": 1,
    "rate_definition_id": 5,
    "rate_definition_name": "Weeks and Days",
    "starts_at": "Hello, world!",
    "ends_at": "Hello, world!",
    "price": "20.0",
    "category_prices": [
      {
        "price": "100.00",
        "price_category_id": "1000015",
        "price_category_name": "A"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "rate": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Rental, 2 = Sale)"
        },
        "rate_definition_id": {
          "type": "number"
        },
        "rate_definition_name": {
          "type": "string",
          "description": "The rate definition name"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date for this rate (applicable from)"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date for this rate (applicable to)"
        },
        "price": {
          "type": "string",
          "description": "The rate price"
        },
        "category_prices": {
          "type": "array",
          "description": "An array of category prices"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "rate": {
    "store_id": 1,
    "transaction_type": 1,
    "rate_definition_id": 5,
    "rate_definition_name": "Weeks and Days",
    "starts_at": "Hello, world!",
    "ends_at": "Hello, world!",
    "price": "20.0",
    "category_prices": [
      {
        "price": "100.00",
        "price_category_id": "1000015",
        "price_category_name": "A"
      }
    ],
    "id": 1,
    "store_name": "Nottingham",
    "transaction_type_name": "Rental"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "rate": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Rental, 2 = Sale)"
        },
        "rate_definition_id": {
          "type": "number"
        },
        "rate_definition_name": {
          "type": "string",
          "description": "The rate definition name"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date for this rate (applicable from)"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date for this rate (applicable to)"
        },
        "price": {
          "type": "string",
          "description": "The rate price"
        },
        "category_prices": {
          "type": "array",
          "description": "An array of category prices"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Rate record"
        },
        "store_name": {
          "type": "string",
          "description": "The store name"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "The transaction type name"
        }
      }
    }
  }
}

Rates

List Rates
GET/products/{product_id}/rates
Example URI
GET https://api.current-rms.com/api/v1/products/1/rates
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "rates": [
    {
      "store_id": 1,
      "transaction_type": 1,
      "rate_definition_id": 5,
      "rate_definition_name": "Weeks and Days",
      "starts_at": "Hello, world!",
      "ends_at": "Hello, world!",
      "price": "20.0",
      "category_prices": [
        {
          "price": "100.00",
          "price_category_id": "1000015",
          "price_category_name": "A"
        }
      ],
      "id": 1,
      "store_name": "Nottingham",
      "transaction_type_name": "Rental"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "rates": {
      "type": "array"
    }
  }
}
Create a Rate
POST/products/{product_id}/rates
Example URI
POST https://api.current-rms.com/api/v1/products/1/rates
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "rate": {
    "store_id": 1,
    "transaction_type": 1,
    "rate_definition_id": 5,
    "rate_definition_name": "Weeks and Days",
    "starts_at": "Hello, world!",
    "ends_at": "Hello, world!",
    "price": "20.0",
    "category_prices": [
      {
        "price": "100.00",
        "price_category_id": "1000015",
        "price_category_name": "A"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "rate": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Rental, 2 = Sale)"
        },
        "rate_definition_id": {
          "type": "number"
        },
        "rate_definition_name": {
          "type": "string",
          "description": "The rate definition name"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date for this rate (applicable from)"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date for this rate (applicable to)"
        },
        "price": {
          "type": "string",
          "description": "The rate price"
        },
        "category_prices": {
          "type": "array",
          "description": "An array of category prices"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "rate": {
    "store_id": 1,
    "transaction_type": 1,
    "rate_definition_id": 5,
    "rate_definition_name": "Weeks and Days",
    "starts_at": "Hello, world!",
    "ends_at": "Hello, world!",
    "price": "20.0",
    "category_prices": [
      {
        "price": "100.00",
        "price_category_id": "1000015",
        "price_category_name": "A"
      }
    ],
    "id": 1,
    "store_name": "Nottingham",
    "transaction_type_name": "Rental"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "rate": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Rental, 2 = Sale)"
        },
        "rate_definition_id": {
          "type": "number"
        },
        "rate_definition_name": {
          "type": "string",
          "description": "The rate definition name"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date for this rate (applicable from)"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date for this rate (applicable to)"
        },
        "price": {
          "type": "string",
          "description": "The rate price"
        },
        "category_prices": {
          "type": "array",
          "description": "An array of category prices"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Rate record"
        },
        "store_name": {
          "type": "string",
          "description": "The store name"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "The transaction type name"
        }
      }
    }
  }
}

Rate Definitions

A Rate Definition represents a configuration for rental charging based on a Rate Engine

Rate Definition

Retrieve a Rate Definition
GET/rate_definitions/{id}
Example URI
GET https://api.current-rms.com/api/v1/rate_definitions/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired rate definition

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "rate_definition": {
    "id": 1,
    "rate_engine_id": 7,
    "name": "3 Day Week Rate",
    "config": {},
    "rate_engine": {
      "id": 1,
      "name": "Daily Multiplier and Factor Rate Engine",
      "description": "",
      "lead_charge_period": "period",
      "config": {},
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    },
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "rate_definition": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Rate Definition record"
        },
        "rate_engine_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Rate Engine record this rate definition relates to"
        },
        "name": {
          "type": "string",
          "description": "(Readonly) The name of the Rate Definition"
        },
        "config": {
          "type": "object",
          "properties": {},
          "description": "(Readonly) The config object for the Rate Definition"
        },
        "rate_engine": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Rate Engine record"
            },
            "name": {
              "type": "string",
              "description": "(Readonly) The name of the Rate Engine"
            },
            "description": {
              "type": "string",
              "description": "(Readonly) A longer description of the Rate Engine"
            },
            "lead_charge_period": {
              "type": "string",
              "description": "(Readonly) The name of the lead period for this Rate Engine"
            },
            "config": {
              "type": "object",
              "properties": {},
              "description": "(Readonly) The config object for the Rate Engine"
            },
            "created_at": {
              "type": "string",
              "description": "(Readonly) When the Rate Engine record was created"
            },
            "updated_at": {
              "type": "string",
              "description": "(Readonly) When the Rate Engine record was last updated"
            }
          },
          "description": "The Rate Engine object for this Rate Definition"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Rate Definition record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Rate Definition record was last updated"
        }
      }
    }
  }
}

Rate Definitions

List Rate Definitions
GET/rate_definitions
Example URI
GET https://api.current-rms.com/api/v1/rate_definitions
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "rate_definitions": [
    {
      "id": 1,
      "rate_engine_id": 7,
      "name": "3 Day Week Rate",
      "config": {},
      "rate_engine": {
        "id": 1,
        "name": "Daily Multiplier and Factor Rate Engine",
        "description": "",
        "lead_charge_period": "period",
        "config": {},
        "created_at": "2015-06-25T11:14:32.087Z",
        "updated_at": "2015-07-13T11:14:32.095Z"
      },
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "rate_definitions": {
      "type": "array"
    }
  }
}

Serialised Components

A Serialised Component record defines which stock levels (non-stock, bulk or serialised assets) are part of a serialised container

Serialised Component

Retrieve a Serialised Component
GET/products/{product_id}/stock_levels/{stock_level_id}/serialised_components/{id}
Example URI
GET https://api.current-rms.com/api/v1/products/1/stock_levels/1/serialised_components/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired container stock level

id (number, required)1

The ID of the desired serialised component

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "serialised_component": {
    "container_stock_level_id": 10,
    "component_stock_level_id": 1,
    "quantity": 1,
    "id": 279
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "serialised_component": {
      "type": "object",
      "properties": {
        "container_stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the container Stock Level record this serialised component is within"
        },
        "component_stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the component Stock Level record this serialised component relates to"
        },
        "quantity": {
          "type": "number",
          "description": "The quantity of the component stock level in the container"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Serialised Component record"
        }
      }
    }
  }
}
Delete a Serialised Component
DELETE/products/{product_id}/stock_levels/{stock_level_id}/serialised_components/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/products/1/stock_levels/1/serialised_components/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired container stock level

id (number, required)1

The ID of the desired serialised component

Response  204

Remove from a Serialised Container

Remove from a Serialised Container
POST/products/{product_id}/stock_levels/{stock_level_id}/serialised_components/{id}/remove
Example URI
POST https://api.current-rms.com/api/v1/products/1/stock_levels/1/serialised_components/1/remove
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired container stock level

id (number, required)1

The ID of the desired serialised component

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "quantity": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "quantity": {
      "type": "number",
      "description": "The quantity of the component stock level to remove from the container"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "serialised_component": {
    "container_stock_level_id": 10,
    "component_stock_level_id": 1,
    "quantity": 1,
    "id": 279
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "serialised_component": {
      "type": "object",
      "properties": {
        "container_stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the container Stock Level record this serialised component is within"
        },
        "component_stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the component Stock Level record this serialised component relates to"
        },
        "quantity": {
          "type": "number",
          "description": "The quantity of the component stock level in the container"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Serialised Component record"
        }
      }
    }
  }
}

Serialised Components

List Serialised Components
GET/products/{product_id}/stock_levels/{stock_level_id}/serialised_components
Example URI
GET https://api.current-rms.com/api/v1/products/1/stock_levels/1/serialised_components
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired container stock level

id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "serialised_components": [
    {
      "container_stock_level_id": 10,
      "component_stock_level_id": 1,
      "quantity": 1,
      "id": 279
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "serialised_components": {
      "type": "array"
    }
  }
}

Create or add to a Serialised Container

Create or add to a Serialised Container
POST/products/{product_id}/stock_levels/{stock_level_id}/serialised_components/add
Example URI
POST https://api.current-rms.com/api/v1/products/1/stock_levels/1/serialised_components/add
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired container stock level

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "component_stock_level_id": 1,
  "quantity": 1,
  "container_mode": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "component_stock_level_id": {
      "type": "number",
      "description": "The ID of the desired component stock level"
    },
    "quantity": {
      "type": "number",
      "description": "The quantity of the component stock level to add to the container stock level, defaults to 1"
    },
    "container_mode": {
      "type": "number",
      "description": "The type of serialised container (0 = Permanent, 1 = Temporary), defaults to the system default"
    }
  },
  "required": [
    "component_stock_level_id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "serialised_component": {
    "container_stock_level_id": 10,
    "component_stock_level_id": 1,
    "quantity": 1,
    "id": 279
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "serialised_component": {
      "type": "object",
      "properties": {
        "container_stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the container Stock Level record this serialised component is within"
        },
        "component_stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the component Stock Level record this serialised component relates to"
        },
        "quantity": {
          "type": "number",
          "description": "The quantity of the component stock level in the container"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Serialised Component record"
        }
      }
    }
  }
}

Services

A Service represents a resource based service you provide (e.g. Lighting Enginer, Transport etc.)

Service

Retrieve a Service
GET/services/{id}
Example URI
GET https://api.current-rms.com/api/v1/services/1
Parameters
NameExampleDescription
id (number, required)1
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "service": {
    "name": "Lighting Engineer",
    "tag_list": [],
    "description": "",
    "active": true,
    "track_shortages": true,
    "tax_class_id": 2,
    "service_revenue_group_id": 1,
    "service_type_id": 10002,
    "internal_service_cost_group_id": 1,
    "external_service_cost_group_id": 1,
    "day_price": "0.0",
    "hour_price": "0.0",
    "distance_price": "0.0",
    "flat_rate_price": "0.0",
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "custom_fields": {},
    "id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "tax_class": {
      "name": "VAT Standard",
      "id": 1
    },
    "service_type": {},
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Item"
    },
    "service_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "internal_service_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "external_service_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "attachments": [
      {
        "attachable_id": 39,
        "name": "Site Plan",
        "description": "",
        "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
        "attachment_content_type": "image/png",
        "attachment_file_size": 46424,
        "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "attachable_type": "Item"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the service"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of string tags"
        },
        "description": {
          "type": "string",
          "description": "A long description of the service"
        },
        "active": {
          "type": "boolean",
          "description": "Is this service active?"
        },
        "track_shortages": {
          "type": "boolean",
          "description": "Should the system track shortages for this service?"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this service relates to"
        },
        "service_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this service relates to for service income"
        },
        "service_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the service"
        },
        "internal_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for internal resource costs"
        },
        "external_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for external service costs"
        },
        "day_price": {
          "type": "string",
          "description": "The daily rate for this service"
        },
        "hour_price": {
          "type": "string",
          "description": "The hourly rate for this service"
        },
        "distance_price": {
          "type": "string",
          "description": "The distance rate for this service"
        },
        "flat_rate_price": {
          "type": "string",
          "description": "The flat rate for this service"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of this service"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of this service"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of this service"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of this service"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Service record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Service record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Service record was last updated"
        },
        "tax_class": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Tax Class name"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Tax Class record"
            }
          },
          "description": "The Tax Class object for this Service"
        },
        "service_type": {
          "type": "object",
          "properties": {},
          "description": "A list value object for the service type"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Service"
        },
        "service_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this Service"
        },
        "internal_service_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The internal Cost Group object for this service"
        },
        "external_service_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The external Cost Group object for this service"
        },
        "attachments": {
          "type": "array",
          "description": "An array of attachments for this Service"
        }
      }
    }
  }
}
Update a Service
PUT/services/{id}
Example URI
PUT https://api.current-rms.com/api/v1/services/1
Parameters
NameExampleDescription
id (number, required)1
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "service": {
    "name": "Lighting Engineer",
    "tag_list": [],
    "description": "",
    "active": true,
    "track_shortages": true,
    "tax_class_id": 2,
    "service_revenue_group_id": 1,
    "service_type_id": 10002,
    "internal_service_cost_group_id": 1,
    "external_service_cost_group_id": 1,
    "day_price": "0.0",
    "hour_price": "0.0",
    "distance_price": "0.0",
    "flat_rate_price": "0.0",
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "custom_fields": {},
    "icon": {
      "image": ""
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the service"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of string tags"
        },
        "description": {
          "type": "string",
          "description": "A long description of the service"
        },
        "active": {
          "type": "boolean",
          "description": "Is this service active?"
        },
        "track_shortages": {
          "type": "boolean",
          "description": "Should the system track shortages for this service?"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this service relates to"
        },
        "service_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this service relates to for service income"
        },
        "service_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the service"
        },
        "internal_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for internal resource costs"
        },
        "external_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for external service costs"
        },
        "day_price": {
          "type": "string",
          "description": "The daily rate for this service"
        },
        "hour_price": {
          "type": "string",
          "description": "The hourly rate for this service"
        },
        "distance_price": {
          "type": "string",
          "description": "The distance rate for this service"
        },
        "flat_rate_price": {
          "type": "string",
          "description": "The flat rate for this service"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of this service"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of this service"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of this service"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of this service"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this service"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "service": {
    "name": "Lighting Engineer",
    "tag_list": [],
    "description": "",
    "active": true,
    "track_shortages": true,
    "tax_class_id": 2,
    "service_revenue_group_id": 1,
    "service_type_id": 10002,
    "internal_service_cost_group_id": 1,
    "external_service_cost_group_id": 1,
    "day_price": "0.0",
    "hour_price": "0.0",
    "distance_price": "0.0",
    "flat_rate_price": "0.0",
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "custom_fields": {},
    "id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "tax_class": {
      "name": "VAT Standard",
      "id": 1
    },
    "service_type": {},
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Item"
    },
    "service_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "internal_service_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "external_service_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "attachments": [
      {
        "attachable_id": 39,
        "name": "Site Plan",
        "description": "",
        "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
        "attachment_content_type": "image/png",
        "attachment_file_size": 46424,
        "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "attachable_type": "Item"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the service"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of string tags"
        },
        "description": {
          "type": "string",
          "description": "A long description of the service"
        },
        "active": {
          "type": "boolean",
          "description": "Is this service active?"
        },
        "track_shortages": {
          "type": "boolean",
          "description": "Should the system track shortages for this service?"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this service relates to"
        },
        "service_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this service relates to for service income"
        },
        "service_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the service"
        },
        "internal_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for internal resource costs"
        },
        "external_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for external service costs"
        },
        "day_price": {
          "type": "string",
          "description": "The daily rate for this service"
        },
        "hour_price": {
          "type": "string",
          "description": "The hourly rate for this service"
        },
        "distance_price": {
          "type": "string",
          "description": "The distance rate for this service"
        },
        "flat_rate_price": {
          "type": "string",
          "description": "The flat rate for this service"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of this service"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of this service"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of this service"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of this service"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Service record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Service record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Service record was last updated"
        },
        "tax_class": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Tax Class name"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Tax Class record"
            }
          },
          "description": "The Tax Class object for this Service"
        },
        "service_type": {
          "type": "object",
          "properties": {},
          "description": "A list value object for the service type"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Service"
        },
        "service_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this Service"
        },
        "internal_service_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The internal Cost Group object for this service"
        },
        "external_service_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The external Cost Group object for this service"
        },
        "attachments": {
          "type": "array",
          "description": "An array of attachments for this Service"
        }
      }
    }
  }
}
Delete a Service
DELETE/services/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/services/1
Parameters
NameExampleDescription
id (number, required)1
Response  204

Services

List Services
GET/services{?page,per_page,filtermode,view_id}
Example URI
GET https://api.current-rms.com/api/v1/services?page=1&per_page=20&filtermode=all&view_id=1
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

filtermode (string, optional)all

A built in filtermode name (e.g. active, inactive, all)

view_id (number, optional)1

The record id of a custom view

q[name_or_tags_name_cont] (string, optional)search_text_here

Search on name or tags for matching records

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "services": [
    {
      "name": "Lighting Engineer",
      "tag_list": [],
      "description": "",
      "active": true,
      "track_shortages": true,
      "tax_class_id": 2,
      "service_revenue_group_id": 1,
      "service_type_id": 10002,
      "internal_service_cost_group_id": 1,
      "external_service_cost_group_id": 1,
      "day_price": "0.0",
      "hour_price": "0.0",
      "distance_price": "0.0",
      "flat_rate_price": "0.0",
      "day_cost": "",
      "hour_cost": "",
      "distance_cost": "",
      "flat_rate_cost": "",
      "custom_fields": {},
      "id": 1,
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "tax_class": {
        "name": "VAT Standard",
        "id": 1
      },
      "service_type": {},
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Item"
      },
      "service_revenue_group": {
        "id": 1,
        "name": "Rental",
        "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
        "active": true
      },
      "internal_service_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "external_service_cost_group": {
        "name": "Cost Group Name",
        "description": "",
        "active": true,
        "id": 1
      },
      "attachments": [
        {
          "attachable_id": 39,
          "name": "Site Plan",
          "description": "",
          "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
          "attachment_content_type": "image/png",
          "attachment_file_size": 46424,
          "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "id": 1,
          "attachable_type": "Item"
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "services": {
      "type": "array"
    }
  }
}
Create a Service
POST/services
Example URI
POST https://api.current-rms.com/api/v1/services
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "service": {
    "name": "Lighting Engineer",
    "tag_list": [],
    "description": "",
    "active": true,
    "track_shortages": true,
    "tax_class_id": 2,
    "service_revenue_group_id": 1,
    "service_type_id": 10002,
    "internal_service_cost_group_id": 1,
    "external_service_cost_group_id": 1,
    "day_price": "0.0",
    "hour_price": "0.0",
    "distance_price": "0.0",
    "flat_rate_price": "0.0",
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "custom_fields": {},
    "icon": {
      "image": ""
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the service"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of string tags"
        },
        "description": {
          "type": "string",
          "description": "A long description of the service"
        },
        "active": {
          "type": "boolean",
          "description": "Is this service active?"
        },
        "track_shortages": {
          "type": "boolean",
          "description": "Should the system track shortages for this service?"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this service relates to"
        },
        "service_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this service relates to for service income"
        },
        "service_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the service"
        },
        "internal_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for internal resource costs"
        },
        "external_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for external service costs"
        },
        "day_price": {
          "type": "string",
          "description": "The daily rate for this service"
        },
        "hour_price": {
          "type": "string",
          "description": "The hourly rate for this service"
        },
        "distance_price": {
          "type": "string",
          "description": "The distance rate for this service"
        },
        "flat_rate_price": {
          "type": "string",
          "description": "The flat rate for this service"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of this service"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of this service"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of this service"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of this service"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this service"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "service": {
    "name": "Lighting Engineer",
    "tag_list": [],
    "description": "",
    "active": true,
    "track_shortages": true,
    "tax_class_id": 2,
    "service_revenue_group_id": 1,
    "service_type_id": 10002,
    "internal_service_cost_group_id": 1,
    "external_service_cost_group_id": 1,
    "day_price": "0.0",
    "hour_price": "0.0",
    "distance_price": "0.0",
    "flat_rate_price": "0.0",
    "day_cost": "",
    "hour_cost": "",
    "distance_cost": "",
    "flat_rate_cost": "",
    "custom_fields": {},
    "id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "tax_class": {
      "name": "VAT Standard",
      "id": 1
    },
    "service_type": {},
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Item"
    },
    "service_revenue_group": {
      "id": 1,
      "name": "Rental",
      "description": "Pictures and leaned back was strewn at one would rather more. People don't want of his own means of one hand! Unless it from our pioneer has he fallen tree but that ever stronger and a. Hid among us against the full of verdure through by my eyes.",
      "active": true
    },
    "internal_service_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "external_service_cost_group": {
      "name": "Cost Group Name",
      "description": "",
      "active": true,
      "id": 1
    },
    "attachments": [
      {
        "attachable_id": 39,
        "name": "Site Plan",
        "description": "",
        "attachment_file_name": "Screen_Shot_2015-07-28_at_16.23.39.png",
        "attachment_content_type": "image/png",
        "attachment_file_size": 46424,
        "attachment_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "attachment_thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "id": 1,
        "attachable_type": "Item"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the service"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of string tags"
        },
        "description": {
          "type": "string",
          "description": "A long description of the service"
        },
        "active": {
          "type": "boolean",
          "description": "Is this service active?"
        },
        "track_shortages": {
          "type": "boolean",
          "description": "Should the system track shortages for this service?"
        },
        "tax_class_id": {
          "type": "number",
          "description": "The internal identifier of the Tax Class record this service relates to"
        },
        "service_revenue_group_id": {
          "type": "number",
          "description": "The internal identifier of the Revenue Group record this service relates to for service income"
        },
        "service_type_id": {
          "type": "number",
          "description": "The internal identifier of the list_value record specifying the type of the service"
        },
        "internal_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for internal resource costs"
        },
        "external_service_cost_group_id": {
          "type": "number",
          "description": "The internal identifier of the Cost Group record this service relates to for external service costs"
        },
        "day_price": {
          "type": "string",
          "description": "The daily rate for this service"
        },
        "hour_price": {
          "type": "string",
          "description": "The hourly rate for this service"
        },
        "distance_price": {
          "type": "string",
          "description": "The distance rate for this service"
        },
        "flat_rate_price": {
          "type": "string",
          "description": "The flat rate for this service"
        },
        "day_cost": {
          "type": "string",
          "description": "`100.00` (number) - The daily cost of this service"
        },
        "hour_cost": {
          "type": "string",
          "description": "`15.00` (number) - The hourly cost of this service"
        },
        "distance_cost": {
          "type": "string",
          "description": "`1.00` (number) - The distance cost of this service"
        },
        "flat_rate_cost": {
          "type": "string",
          "description": "`300.00` (number) - The flat rate cost of this service"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Service record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Service record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Service record was last updated"
        },
        "tax_class": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Tax Class name"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Tax Class record"
            }
          },
          "description": "The Tax Class object for this Service"
        },
        "service_type": {
          "type": "object",
          "properties": {},
          "description": "A list value object for the service type"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this Service"
        },
        "service_revenue_group": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Revenue Group record"
            },
            "name": {
              "type": "string",
              "description": "The revenue group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Revenue Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this revenue group active? Inactive revenue groups are hidden from views by default."
            }
          },
          "description": "The Revenue Group object for this Service"
        },
        "internal_service_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The internal Cost Group object for this service"
        },
        "external_service_cost_group": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "The Cost Group name"
            },
            "description": {
              "type": "string",
              "description": "A longer description of the Cost Group"
            },
            "active": {
              "type": "boolean",
              "description": "Is this Cost Group active?"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Cost Group record"
            }
          },
          "description": "The external Cost Group object for this service"
        },
        "attachments": {
          "type": "array",
          "description": "An array of attachments for this Service"
        }
      }
    }
  }
}

Service Resources

A Service Resource represents a bookable member that can perform a service at one or more stores for a given cost. When creating a Service Resource it is possible to specify multiple stores in which the service can be performed. However, if a service resource has already been created for a member and service, in order to allow that service to be performed in additional stores an update must be performed.

Service Resource

Retrieve a Service Resource
GET/services/{service_id}/service_resources/{member_id}
Example URI
GET https://api.current-rms.com/api/v1/services/1/service_resources/1
Parameters
NameExampleDescription
service_id (number, required)1

The service ID of the desired service resource

member_id (number, required)1

The member ID of the desired service resource

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "service_resource": {
    "day_cost": 100,
    "hour_cost": 15,
    "distance_cost": 1,
    "flat_rate_cost": 300,
    "service_id": 10,
    "service_name": "Service",
    "member_id": 1,
    "member_name": "Steve Smith",
    "resource_stock_levels": [
      {
        "item_id": 10,
        "store_id": 1,
        "member_id": 1,
        "asset_number": "Chris Bralton",
        "serial_number": "",
        "location": "",
        "stock_type": 3,
        "stock_category": 60,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 487,
        "item_name": "Sound Engineer",
        "store_name": "Nottingham",
        "stock_type_name": "Service",
        "stock_category_name": "Resource"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service_resource": {
      "type": "object",
      "properties": {
        "day_cost": {
          "type": "number",
          "description": "The daily cost of this service resource"
        },
        "hour_cost": {
          "type": "number",
          "description": "The hourly cost of this service resource"
        },
        "distance_cost": {
          "type": "number",
          "description": "The distance cost of this service resource"
        },
        "flat_rate_cost": {
          "type": "number",
          "description": "The flat rate cost of this service resource"
        },
        "service_id": {
          "type": "number",
          "description": "The identifier of the Service record"
        },
        "service_name": {
          "type": "string",
          "description": "(Readonly) The name of the Service record"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member record"
        },
        "member_name": {
          "type": "string",
          "description": "(Readonly) The name of the Member record"
        },
        "resource_stock_levels": {
          "type": "array",
          "description": "An array of stock levels for this service resource, one for each store"
        }
      }
    }
  }
}
Update a Service Resource
PUT/services/{service_id}/service_resources/{member_id}
Example URI
PUT https://api.current-rms.com/api/v1/services/1/service_resources/1
Parameters
NameExampleDescription
service_id (number, required)1

The service ID of the desired service resource

member_id (number, required)1

The member ID of the desired service resource

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "service_resource": {
    "day_cost": 100,
    "hour_cost": 15,
    "distance_cost": 1,
    "flat_rate_cost": 300,
    "resource_stock_levels": [
      {
        "id": 279,
        "store_id": 1,
        "starts_at": "2018-01-01",
        "ends_at": "2018-12-31"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service_resource": {
      "type": "object",
      "properties": {
        "day_cost": {
          "type": "number",
          "description": "The daily cost of this service resource"
        },
        "hour_cost": {
          "type": "number",
          "description": "The hourly cost of this service resource"
        },
        "distance_cost": {
          "type": "number",
          "description": "The distance cost of this service resource"
        },
        "flat_rate_cost": {
          "type": "number",
          "description": "The flat rate cost of this service resource"
        },
        "resource_stock_levels": {
          "type": "array",
          "description": "An array of stock levels for this service resource, one for each store"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "service_resource": {
    "day_cost": 100,
    "hour_cost": 15,
    "distance_cost": 1,
    "flat_rate_cost": 300,
    "service_id": 10,
    "service_name": "Service",
    "member_id": 1,
    "member_name": "Steve Smith",
    "resource_stock_levels": [
      {
        "item_id": 10,
        "store_id": 1,
        "member_id": 1,
        "asset_number": "Chris Bralton",
        "serial_number": "",
        "location": "",
        "stock_type": 3,
        "stock_category": 60,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 487,
        "item_name": "Sound Engineer",
        "store_name": "Nottingham",
        "stock_type_name": "Service",
        "stock_category_name": "Resource"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service_resource": {
      "type": "object",
      "properties": {
        "day_cost": {
          "type": "number",
          "description": "The daily cost of this service resource"
        },
        "hour_cost": {
          "type": "number",
          "description": "The hourly cost of this service resource"
        },
        "distance_cost": {
          "type": "number",
          "description": "The distance cost of this service resource"
        },
        "flat_rate_cost": {
          "type": "number",
          "description": "The flat rate cost of this service resource"
        },
        "service_id": {
          "type": "number",
          "description": "The identifier of the Service record"
        },
        "service_name": {
          "type": "string",
          "description": "(Readonly) The name of the Service record"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member record"
        },
        "member_name": {
          "type": "string",
          "description": "(Readonly) The name of the Member record"
        },
        "resource_stock_levels": {
          "type": "array",
          "description": "An array of stock levels for this service resource, one for each store"
        }
      }
    }
  }
}
Delete a Service Resource
DELETE/services/{service_id}/service_resources/{member_id}
Example URI
DELETE https://api.current-rms.com/api/v1/services/1/service_resources/1
Parameters
NameExampleDescription
service_id (number, required)1

The service ID of the desired service resource

member_id (number, required)1

The member ID of the desired service resource

Response  204

Service Resources

List Service Resources
GET/services/{service_id}/service_resources
Example URI
GET https://api.current-rms.com/api/v1/services/1/service_resources
Parameters
NameExampleDescription
service_id (number, required)1

The service ID of the desired service resource

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "service_resources": [
    {
      "day_cost": 100,
      "hour_cost": 15,
      "distance_cost": 1,
      "flat_rate_cost": 300,
      "service_id": 10,
      "service_name": "Service",
      "member_id": 1,
      "member_name": "Steve Smith",
      "resource_stock_levels": [
        {
          "item_id": 10,
          "store_id": 1,
          "member_id": 1,
          "asset_number": "Chris Bralton",
          "serial_number": "",
          "location": "",
          "stock_type": 3,
          "stock_category": 60,
          "quantity_held": "1.0",
          "quantity_allocated": "0.0",
          "quantity_unavailable": "0.0",
          "quantity_on_order": "0.0",
          "starts_at": "",
          "ends_at": "",
          "icon": {
            "iconable_id": 85,
            "id": 1,
            "image_file_name": "abigail.jpeg",
            "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
            "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
            "created_at": "2015-06-29T10:00:00.000Z",
            "updated_at": "2015-06-29T10:30:00.000Z",
            "iconable_type": "StockLevel"
          },
          "custom_fields": {},
          "id": 487,
          "item_name": "Sound Engineer",
          "store_name": "Nottingham",
          "stock_type_name": "Service",
          "stock_category_name": "Resource"
        }
      ]
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service_resources": {
      "type": "array"
    }
  }
}
Create a Service Resource
POST/services/{service_id}/service_resources
Example URI
POST https://api.current-rms.com/api/v1/services/1/service_resources
Parameters
NameExampleDescription
service_id (number, required)1

The service ID of the desired service resource

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "service_resource": {
    "day_cost": 100,
    "hour_cost": 15,
    "distance_cost": 1,
    "flat_rate_cost": 300,
    "member_id": 1,
    "resource_stock_levels": [
      {
        "store_id": 1,
        "starts_at": "2018-01-01",
        "ends_at": "2018-12-31"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service_resource": {
      "type": "object",
      "properties": {
        "day_cost": {
          "type": "number",
          "description": "The daily cost of this service resource"
        },
        "hour_cost": {
          "type": "number",
          "description": "The hourly cost of this service resource"
        },
        "distance_cost": {
          "type": "number",
          "description": "The distance cost of this service resource"
        },
        "flat_rate_cost": {
          "type": "number",
          "description": "The flat rate cost of this service resource"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member resource record"
        },
        "resource_stock_levels": {
          "type": "array",
          "description": "An array of stock levels for this service resource, one for each store"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "service_resource": {
    "day_cost": 100,
    "hour_cost": 15,
    "distance_cost": 1,
    "flat_rate_cost": 300,
    "service_id": 10,
    "service_name": "Service",
    "member_id": 1,
    "member_name": "Steve Smith",
    "resource_stock_levels": [
      {
        "item_id": 10,
        "store_id": 1,
        "member_id": 1,
        "asset_number": "Chris Bralton",
        "serial_number": "",
        "location": "",
        "stock_type": 3,
        "stock_category": 60,
        "quantity_held": "1.0",
        "quantity_allocated": "0.0",
        "quantity_unavailable": "0.0",
        "quantity_on_order": "0.0",
        "starts_at": "",
        "ends_at": "",
        "icon": {
          "iconable_id": 85,
          "id": 1,
          "image_file_name": "abigail.jpeg",
          "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
          "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
          "created_at": "2015-06-29T10:00:00.000Z",
          "updated_at": "2015-06-29T10:30:00.000Z",
          "iconable_type": "StockLevel"
        },
        "custom_fields": {},
        "id": 487,
        "item_name": "Sound Engineer",
        "store_name": "Nottingham",
        "stock_type_name": "Service",
        "stock_category_name": "Resource"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "service_resource": {
      "type": "object",
      "properties": {
        "day_cost": {
          "type": "number",
          "description": "The daily cost of this service resource"
        },
        "hour_cost": {
          "type": "number",
          "description": "The hourly cost of this service resource"
        },
        "distance_cost": {
          "type": "number",
          "description": "The distance cost of this service resource"
        },
        "flat_rate_cost": {
          "type": "number",
          "description": "The flat rate cost of this service resource"
        },
        "service_id": {
          "type": "number",
          "description": "The identifier of the Service record"
        },
        "service_name": {
          "type": "string",
          "description": "(Readonly) The name of the Service record"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member record"
        },
        "member_name": {
          "type": "string",
          "description": "(Readonly) The name of the Member record"
        },
        "resource_stock_levels": {
          "type": "array",
          "description": "An array of stock levels for this service resource, one for each store"
        }
      }
    }
  }
}

Service Resource examples

Member resource in multiple stores

As noted above, it is possible to specify multiple stores when creating a service resource. However, if the member is subsequently to be used to perform the same service in additional stores, an update must be used instead of a second create.

Initial creation in two stores
POST/services/{service_id}/service_resources/
Example URI
POST https://api.current-rms.com/api/v1/services/341/service_resources/
Parameters
NameExampleDescription
service_id (number, required)341

The service ID of the desired service resource

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "service_resource": {
    "member_id": 138,
    "resource_stock_levels": [
      {
        "store_id": 1
      },
      {
        "store_id": 2
      }
    ]
  }
}
Update to add an additional store
PUT/services/{service_id}/service_resources/{member_id}
Example URI
PUT https://api.current-rms.com/api/v1/services/341/service_resources/138
Parameters
NameExampleDescription
service_id (number, required)341

The service ID of the desired service resource

member_id (number, required)138

The member ID of the desired service resource

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "service_resource": {
    "resource_stock_levels": [
      {
        "store_id": 3
      }
    ]
  }
}

Stock Bookings

A Stock Booking record describes a booking for an asset (Product) or a resource (Service). Bookings may originate from an Opportunity, Quarantine or Activity.

Stock Booking

Retrieve a Stock Booking
GET/stock_bookings/{id}
Example URI
GET https://api.current-rms.com/api/v1/stock_bookings/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired stock_booking

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_booking": {
    "item_id": 151,
    "store_id": 1,
    "stock_level_id": 279,
    "member_id": 1,
    "booking_id": 317,
    "booking_type": "Item",
    "booking_mask": 0,
    "opportunity_id": 1,
    "return_item_asset_id": 1,
    "firm": true,
    "sub_rent": false,
    "active": true,
    "starts_at": "2015-06-29T08:00:00.000Z",
    "ends_at": "2015-06-30T08:00:00.000Z",
    "quantity": 1,
    "container_stock_level_id": 1,
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_booking": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this booking relates to"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record for this booking"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this booking is for (if an asset or sub-rent booking for a product)"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this booking is associated to (if a resource booking for a service or activity)"
        },
        "booking_id": {
          "type": "number",
          "description": "The internal identifier of the booking record this accessory relates to"
        },
        "booking_type": {
          "type": "string",
          "description": "The type of booking record this accessory relates to (e.g. OpportunityItemAsset)"
        },
        "booking_mask": {
          "type": "number",
          "description": "A bitmask determining the source of a quarantine stock booking (0=None, 1=Manual, 2=Opportunity, 4=To Stock, 8=Write Off)"
        },
        "opportunity_id": {
          "type": "number",
          "description": "The internal identifier of the Opportunity record this booking relates to"
        },
        "return_item_asset_id": {
          "type": "number",
          "description": "The internal identifier of the opportunity return item asset record"
        },
        "firm": {
          "type": "boolean",
          "description": "Is this a firm booking (reserved quotations, orders, quarantines & activities) or a provisional booking (open & provisional quotation opportunity)?"
        },
        "sub_rent": {
          "type": "boolean",
          "description": "Is this booking related to a sub-rent booking?"
        },
        "active": {
          "type": "boolean",
          "description": "Is this booking related to an active Opportunity/Activity/Quarantine record?"
        },
        "starts_at": {
          "type": "string",
          "description": "The start date of this booking"
        },
        "ends_at": {
          "type": "string",
          "description": "The end date of this booking"
        },
        "quantity": {
          "type": "number",
          "description": "The quantity of the asset or resource on this booking"
        },
        "container_stock_level_id": {
          "type": "number",
          "description": "The internal identifier of a stock level record for the parent container if this asset is part of a serialised container"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Booking record"
        }
      },
      "required": [
        "store_id"
      ]
    }
  }
}

Stock Bookings

List Stock Bookings
GET/stock_bookings{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/stock_bookings?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_bookings": [
    {
      "item_id": 151,
      "store_id": 1,
      "stock_level_id": 279,
      "member_id": 1,
      "booking_id": 317,
      "booking_type": "Item",
      "booking_mask": 0,
      "opportunity_id": 1,
      "return_item_asset_id": 1,
      "firm": true,
      "sub_rent": false,
      "active": true,
      "starts_at": "2015-06-29T08:00:00.000Z",
      "ends_at": "2015-06-30T08:00:00.000Z",
      "quantity": 1,
      "container_stock_level_id": 1,
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_bookings": {
      "type": "array"
    }
  }
}

Stock Bookings examples

Stock Bookings for products within a specific product group
GET/stock_bookings
/api/v1/stock_bookings?q[item_product_group_name_eq]=Vehicles
Example URI
GET https://api.current-rms.com/api/v1/stock_bookings
Stock Bookings for a stock level on Opportunities that are active and firm (belonging to a reserved quotation or order)
GET/stock_bookings
/api/v1/stock_bookings?q[stock_level_id_eq]=1461&q[booking_type_eq]=OpportunityItemAsset&q[active_eq]=true&q[firm_eq]=true
Example URI
GET https://api.current-rms.com/api/v1/stock_bookings

Stock/Inventory Checks

A Stock/Inventory Check represents an in progress or completed stock check

Stock/Inventory Check

Retrieve a Stock/Inventory Check
GET/stock_checks/{id}
Example URI
GET https://api.current-rms.com/api/v1/stock_checks/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired stock_check

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check": {
    "store_id": 1,
    "stock_check_at": "2019-07-02T11:15:00.000Z",
    "item_id": 151,
    "product_group_id": 6,
    "allowed_stock_type": 0,
    "tag_filter": "red,green,blue",
    "subject": "January stock check",
    "status": 0,
    "auto_return_bookings": true,
    "id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock check is related to"
        },
        "stock_check_at": {
          "type": "string",
          "description": "The stock check date/time"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock check relates to"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this stock check relates to"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "tag_filter": {
          "type": "string",
          "description": "A comma separated tag filter that selects products for the stock check"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this stock check"
        },
        "status": {
          "type": "number",
          "description": "The allowed stock type (0 = Open, 1 = Submitted, 2 = Completed, 3 = Failed, 4 = Reverting, 5 = Revert Failed, 9 = Cancelled)"
        },
        "auto_return_bookings": {
          "type": "boolean",
          "description": "Auto-return serialised rental bookings ending prior to the stock check date"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Check record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check record was last updated"
        }
      },
      "required": [
        "store_id",
        "stock_check_at",
        "subject"
      ]
    }
  }
}
Update a Stock/Inventory Check
PUT/stock_checks/{id}
Example URI
PUT https://api.current-rms.com/api/v1/stock_checks/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired stock_check

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check": {
    "store_id": 1,
    "stock_check_at": "2019-07-02T11:15:00.000Z",
    "item_id": 151,
    "product_group_id": 6,
    "allowed_stock_type": 0,
    "tag_filter": "red,green,blue",
    "subject": "January stock check",
    "status": 0,
    "auto_return_bookings": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock check is related to"
        },
        "stock_check_at": {
          "type": "string",
          "description": "The stock check date/time"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock check relates to"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this stock check relates to"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "tag_filter": {
          "type": "string",
          "description": "A comma separated tag filter that selects products for the stock check"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this stock check"
        },
        "status": {
          "type": "number",
          "description": "The allowed stock type (0 = Open, 1 = Submitted, 2 = Completed, 3 = Failed, 4 = Reverting, 5 = Revert Failed, 9 = Cancelled)"
        },
        "auto_return_bookings": {
          "type": "boolean",
          "description": "Auto-return serialised rental bookings ending prior to the stock check date"
        }
      },
      "required": [
        "store_id",
        "stock_check_at",
        "subject"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check": {
    "store_id": 1,
    "stock_check_at": "2019-07-02T11:15:00.000Z",
    "item_id": 151,
    "product_group_id": 6,
    "allowed_stock_type": 0,
    "tag_filter": "red,green,blue",
    "subject": "January stock check",
    "status": 0,
    "auto_return_bookings": true,
    "id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock check is related to"
        },
        "stock_check_at": {
          "type": "string",
          "description": "The stock check date/time"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock check relates to"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this stock check relates to"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "tag_filter": {
          "type": "string",
          "description": "A comma separated tag filter that selects products for the stock check"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this stock check"
        },
        "status": {
          "type": "number",
          "description": "The allowed stock type (0 = Open, 1 = Submitted, 2 = Completed, 3 = Failed, 4 = Reverting, 5 = Revert Failed, 9 = Cancelled)"
        },
        "auto_return_bookings": {
          "type": "boolean",
          "description": "Auto-return serialised rental bookings ending prior to the stock check date"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Check record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check record was last updated"
        }
      },
      "required": [
        "store_id",
        "stock_check_at",
        "subject"
      ]
    }
  }
}
Delete a Stock/Inventory Check
DELETE/stock_checks/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/stock_checks/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired stock_check

Response  204

Export stock/inventory check

This method will return CSV formatted data for the given stock/inventory check ID

Export a Stock/Inventory Check
GET/stock_checks/{id}/export
Example URI
GET https://api.current-rms.com/api/v1/stock_checks/1/export
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired stock/inventory check to export

Response  200
HideShow
Headers
Content-Type: text/csv

Submit stock/inventory check

This method will submit a stock/inventory check for processing. The processing method is executed as a background task and will create stock transactions for any changes in stock/inventory quantities. The stock/inventory check record’s status is changed to 2 (completed) when the processing has finished.

Submit a Stock/Inventory Check
GET/stock_checks/{id}/submit
Example URI
GET https://api.current-rms.com/api/v1/stock_checks/1/submit
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired stock/inventory check to submit for processing

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check": {
    "store_id": 1,
    "stock_check_at": "2019-07-02T11:15:00.000Z",
    "item_id": 151,
    "product_group_id": 6,
    "allowed_stock_type": 0,
    "tag_filter": "red,green,blue",
    "subject": "January stock check",
    "status": 0,
    "auto_return_bookings": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock check is related to"
        },
        "stock_check_at": {
          "type": "string",
          "description": "The stock check date/time"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock check relates to"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this stock check relates to"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "tag_filter": {
          "type": "string",
          "description": "A comma separated tag filter that selects products for the stock check"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this stock check"
        },
        "status": {
          "type": "number",
          "description": "The allowed stock type (0 = Open, 1 = Submitted, 2 = Completed, 3 = Failed, 4 = Reverting, 5 = Revert Failed, 9 = Cancelled)"
        },
        "auto_return_bookings": {
          "type": "boolean",
          "description": "Auto-return serialised rental bookings ending prior to the stock check date"
        }
      },
      "required": [
        "store_id",
        "stock_check_at",
        "subject"
      ]
    }
  }
}

Revert stock/inventory check

This method will submit a stock/inventory check to be reverted. The reverting method is executed as a background task and will delete stock transactions for any changes in stock/inventory quantities. The stock/inventory check record’s status is changed to 9 (cancelled) when the reverting has finished.

Revert a Stock/Inventory Check
GET/stock_checks/{id}/revert
Example URI
GET https://api.current-rms.com/api/v1/stock_checks/1/revert
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired stock/inventory check to revert

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check": {
    "store_id": 1,
    "stock_check_at": "2019-07-02T11:15:00.000Z",
    "item_id": 151,
    "product_group_id": 6,
    "allowed_stock_type": 0,
    "tag_filter": "red,green,blue",
    "subject": "January stock check",
    "status": 0,
    "auto_return_bookings": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock check is related to"
        },
        "stock_check_at": {
          "type": "string",
          "description": "The stock check date/time"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock check relates to"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this stock check relates to"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "tag_filter": {
          "type": "string",
          "description": "A comma separated tag filter that selects products for the stock check"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this stock check"
        },
        "status": {
          "type": "number",
          "description": "The allowed stock type (0 = Open, 1 = Submitted, 2 = Completed, 3 = Failed, 4 = Reverting, 5 = Revert Failed, 9 = Cancelled)"
        },
        "auto_return_bookings": {
          "type": "boolean",
          "description": "Auto-return serialised rental bookings ending prior to the stock check date"
        }
      },
      "required": [
        "store_id",
        "stock_check_at",
        "subject"
      ]
    }
  }
}

Recalculate stock/inventory check

This method will recalculate the held, booked and available quantities for a given stock/inventory check. It does not change the quantity counted. This process is used to reflect changes to stock/inventory levels that occurred during a stock/inventory check.

Recalculate a Stock/Inventory Check
GET/stock_checks/{id}/recalculate
Example URI
GET https://api.current-rms.com/api/v1/stock_checks/1/recalculate
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired stock/inventory check to recalculate

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check": {
    "store_id": 1,
    "stock_check_at": "2019-07-02T11:15:00.000Z",
    "item_id": 151,
    "product_group_id": 6,
    "allowed_stock_type": 0,
    "tag_filter": "red,green,blue",
    "subject": "January stock check",
    "status": 0,
    "auto_return_bookings": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock check is related to"
        },
        "stock_check_at": {
          "type": "string",
          "description": "The stock check date/time"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock check relates to"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this stock check relates to"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "tag_filter": {
          "type": "string",
          "description": "A comma separated tag filter that selects products for the stock check"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this stock check"
        },
        "status": {
          "type": "number",
          "description": "The allowed stock type (0 = Open, 1 = Submitted, 2 = Completed, 3 = Failed, 4 = Reverting, 5 = Revert Failed, 9 = Cancelled)"
        },
        "auto_return_bookings": {
          "type": "boolean",
          "description": "Auto-return serialised rental bookings ending prior to the stock check date"
        }
      },
      "required": [
        "store_id",
        "stock_check_at",
        "subject"
      ]
    }
  }
}

Stock/Inventory Checks

List Stock/Inventory Checks
GET/stock_checks
Example URI
GET https://api.current-rms.com/api/v1/stock_checks
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_checks": [
    {
      "store_id": 1,
      "stock_check_at": "2019-07-02T11:15:00.000Z",
      "item_id": 151,
      "product_group_id": 6,
      "allowed_stock_type": 0,
      "tag_filter": "red,green,blue",
      "subject": "January stock check",
      "status": 0,
      "auto_return_bookings": true,
      "id": 1,
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_checks": {
      "type": "array"
    }
  }
}
Create a Stock/Inventory Check
POST/stock_checks
Example URI
POST https://api.current-rms.com/api/v1/stock_checks
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check": {
    "store_id": 1,
    "stock_check_at": "2019-07-02T11:15:00.000Z",
    "item_id": 151,
    "product_group_id": 6,
    "allowed_stock_type": 0,
    "tag_filter": "red,green,blue",
    "subject": "January stock check",
    "status": 0,
    "auto_return_bookings": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock check is related to"
        },
        "stock_check_at": {
          "type": "string",
          "description": "The stock check date/time"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock check relates to"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this stock check relates to"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "tag_filter": {
          "type": "string",
          "description": "A comma separated tag filter that selects products for the stock check"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this stock check"
        },
        "status": {
          "type": "number",
          "description": "The allowed stock type (0 = Open, 1 = Submitted, 2 = Completed, 3 = Failed, 4 = Reverting, 5 = Revert Failed, 9 = Cancelled)"
        },
        "auto_return_bookings": {
          "type": "boolean",
          "description": "Auto-return serialised rental bookings ending prior to the stock check date"
        }
      },
      "required": [
        "store_id",
        "stock_check_at",
        "subject"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check": {
    "store_id": 1,
    "stock_check_at": "2019-07-02T11:15:00.000Z",
    "item_id": 151,
    "product_group_id": 6,
    "allowed_stock_type": 0,
    "tag_filter": "red,green,blue",
    "subject": "January stock check",
    "status": 0,
    "auto_return_bookings": true,
    "id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock check is related to"
        },
        "stock_check_at": {
          "type": "string",
          "description": "The stock check date/time"
        },
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock check relates to"
        },
        "product_group_id": {
          "type": "number",
          "description": "The internal identifier of the Product Group record this stock check relates to"
        },
        "allowed_stock_type": {
          "type": "number",
          "description": "The allowed stock type (0 = All, 1 = Rental, 2 = Sale)"
        },
        "tag_filter": {
          "type": "string",
          "description": "A comma separated tag filter that selects products for the stock check"
        },
        "subject": {
          "type": "string",
          "description": "The subject (title/name) of this stock check"
        },
        "status": {
          "type": "number",
          "description": "The allowed stock type (0 = Open, 1 = Submitted, 2 = Completed, 3 = Failed, 4 = Reverting, 5 = Revert Failed, 9 = Cancelled)"
        },
        "auto_return_bookings": {
          "type": "boolean",
          "description": "Auto-return serialised rental bookings ending prior to the stock check date"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Check record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check record was last updated"
        }
      },
      "required": [
        "store_id",
        "stock_check_at",
        "subject"
      ]
    }
  }
}

Stock/Inventory Check Items

A Stock/Inventory Check Item represents a stock level that should be counted as part of a Stock/Inventory Check.

Stock/Inventory Check Item

Retrieve an Stock/Inventory Check Item
GET/stock_checks/{stock_check_id}/stock_check_items/{id}
Example URI
GET https://api.current-rms.com/api/v1/stock_checks/1/stock_check_items/1
Parameters
NameExampleDescription
stock_check_id (number, required)1

The ID of the desired stock_check

id (number, required)1

The ID of the desired stock check item

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check_item": {
    "stock_check_id": 1,
    "stock_level_id": 279,
    "quantity_counted": "0.0",
    "id": 1,
    "quantity_held": "1.0",
    "quantity_booked": "0.0",
    "quantity_available": "1.0",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check_item": {
      "type": "object",
      "properties": {
        "stock_check_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Check record this stock check item is related to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this stock check item relates to"
        },
        "quantity_counted": {
          "type": "string",
          "description": "The quantity counted in this stock check of the stock check item's stock level"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Check Item record"
        },
        "quantity_held": {
          "type": "string",
          "description": "(Readonly) The quantity held of the stock check item's stock level"
        },
        "quantity_booked": {
          "type": "string",
          "description": "(Readonly) The quantity booked of the stock check item's stock level"
        },
        "quantity_available": {
          "type": "string",
          "description": "(Readonly) The quantity available of the stock check item's stock level"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check Item record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check Item record was last updated"
        }
      },
      "required": [
        "stock_check_id",
        "stock_level_id"
      ]
    }
  }
}
Update a Stock/Inventory Check Item
PUT/stock_checks/{stock_check_id}/stock_check_items/{id}
Example URI
PUT https://api.current-rms.com/api/v1/stock_checks/1/stock_check_items/1
Parameters
NameExampleDescription
stock_check_id (number, required)1

The ID of the desired stock_check

id (number, required)1

The ID of the desired stock check item

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check_item": {
    "stock_check_id": 1,
    "stock_level_id": 279,
    "quantity_counted": "0.0"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check_item": {
      "type": "object",
      "properties": {
        "stock_check_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Check record this stock check item is related to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this stock check item relates to"
        },
        "quantity_counted": {
          "type": "string",
          "description": "The quantity counted in this stock check of the stock check item's stock level"
        }
      },
      "required": [
        "stock_check_id",
        "stock_level_id"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check_item": {
    "stock_check_id": 1,
    "stock_level_id": 279,
    "quantity_counted": "0.0",
    "id": 1,
    "quantity_held": "1.0",
    "quantity_booked": "0.0",
    "quantity_available": "1.0",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check_item": {
      "type": "object",
      "properties": {
        "stock_check_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Check record this stock check item is related to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this stock check item relates to"
        },
        "quantity_counted": {
          "type": "string",
          "description": "The quantity counted in this stock check of the stock check item's stock level"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Check Item record"
        },
        "quantity_held": {
          "type": "string",
          "description": "(Readonly) The quantity held of the stock check item's stock level"
        },
        "quantity_booked": {
          "type": "string",
          "description": "(Readonly) The quantity booked of the stock check item's stock level"
        },
        "quantity_available": {
          "type": "string",
          "description": "(Readonly) The quantity available of the stock check item's stock level"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check Item record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check Item record was last updated"
        }
      },
      "required": [
        "stock_check_id",
        "stock_level_id"
      ]
    }
  }
}

Stock/Inventory Check Items

List Stock/Inventory Check Items
GET/stock_checks/{stock_check_id}/stock_check_items
Example URI
GET https://api.current-rms.com/api/v1/stock_checks/1/stock_check_items
Parameters
NameExampleDescription
stock_check_id (number, required)1

The ID of the desired stock/inventory check

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check_items": [
    {
      "stock_check_id": 1,
      "stock_level_id": 279,
      "quantity_counted": "0.0",
      "id": 1,
      "quantity_held": "1.0",
      "quantity_booked": "0.0",
      "quantity_available": "1.0",
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check_items": {
      "type": "array"
    }
  }
}
Create a Stock/Inventory Check Item
POST/stock_checks/{stock_check_id}/stock_check_items

The create method can be called each time an item is counted. If an existing stock/inventory check item exists for the stock level or asset number provided, its record will be updated. For bulk stock the provided quantity counted is added to the existing quantity counted. If you wish to set the quantity counted absolutely, use the Update method.

Supply either a stock_level_id or asset_number value. Asset number values will search for products (by barcode) and stock levels (by asset number).

Example URI
POST https://api.current-rms.com/api/v1/stock_checks/1/stock_check_items
Parameters
NameExampleDescription
stock_check_id (number, required)1

The ID of the desired stock_check

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check_item": {
    "stock_level_id": 279,
    "asset_number": "123456",
    "quantity_counted": "1.0"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check_item": {
      "type": "object",
      "properties": {
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of a Stock Level record you wish to count"
        },
        "asset_number": {
          "type": "string",
          "description": "The asset number or barcode of a stock level/product you wish to count"
        },
        "quantity_counted": {
          "type": "string",
          "description": "The quantity counted of the stock level"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_check_item": {
    "stock_check_id": 1,
    "stock_level_id": 279,
    "quantity_counted": "0.0",
    "id": 1,
    "quantity_held": "1.0",
    "quantity_booked": "0.0",
    "quantity_available": "1.0",
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_check_item": {
      "type": "object",
      "properties": {
        "stock_check_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Check record this stock check item is related to"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this stock check item relates to"
        },
        "quantity_counted": {
          "type": "string",
          "description": "The quantity counted in this stock check of the stock check item's stock level"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Check Item record"
        },
        "quantity_held": {
          "type": "string",
          "description": "(Readonly) The quantity held of the stock check item's stock level"
        },
        "quantity_booked": {
          "type": "string",
          "description": "(Readonly) The quantity booked of the stock check item's stock level"
        },
        "quantity_available": {
          "type": "string",
          "description": "(Readonly) The quantity available of the stock check item's stock level"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check Item record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Check Item record was last updated"
        }
      },
      "required": [
        "stock_check_id",
        "stock_level_id"
      ]
    }
  }
}

Stock Levels

A Stock Level represents an amount of bulk stock, or a serialised asset for a product at a store

Stock Level

Retrieve a Stock Level
GET/products/{product_id}/stock_levels/{id}
Example URI
GET https://api.current-rms.com/api/v1/products/1/stock_levels/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired stock level

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "item_id": 10,
    "store_id": 1,
    "member_id": null,
    "asset_number": "751-4-45-994617-4",
    "serial_number": "BN45Z3JUTY1ALH6",
    "location": "KQ34",
    "stock_type": 1,
    "stock_category": 50,
    "quantity_held": "1.0",
    "quantity_allocated": "0.0",
    "quantity_unavailable": "0.0",
    "quantity_on_order": "0.0",
    "starts_at": "",
    "ends_at": "",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "StockLevel"
    },
    "custom_fields": {},
    "id": 279,
    "item_name": "Canon C300 (PL)",
    "store_name": "Nottingham",
    "stock_type_name": "Rental",
    "stock_category_name": "Bulk Stock",
    "container_stock_level_id": 112,
    "container_mode": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "member_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record this stock level relates to (Services only)"
        },
        "asset_number": {
          "type": "string",
          "description": "The stock level asset (barcode) number"
        },
        "serial_number": {
          "type": "string",
          "description": "The stock level serial number"
        },
        "location": {
          "type": "string",
          "description": "The stock level location"
        },
        "stock_type": {
          "type": "number",
          "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
        },
        "stock_category": {
          "type": "number",
          "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
        },
        "quantity_held": {
          "type": "string",
          "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
        },
        "quantity_allocated": {
          "type": "string",
          "description": "The stock level quantity allocated (only applicable to sales stock)"
        },
        "quantity_unavailable": {
          "type": "string",
          "description": "unused"
        },
        "quantity_on_order": {
          "type": "string",
          "description": "unused"
        },
        "starts_at": {
          "type": "string",
          "description": "The service resource start date (only applicable to service stock)"
        },
        "ends_at": {
          "type": "string",
          "description": "The service resource end date (only applicable to service stock)"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this stock level"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Level record"
        },
        "item_name": {
          "type": "string",
          "description": "(Readonly) The name of the Item (Product or Service)"
        },
        "store_name": {
          "type": "string",
          "description": "(Readonly) The name of the Store"
        },
        "stock_type_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock type name"
        },
        "stock_category_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock category name"
        },
        "container_stock_level_id": {
          "type": "number",
          "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
        },
        "container_mode": {
          "type": "number",
          "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
        }
      }
    }
  }
}
Update a Stock Level
PUT/products/{product_id}/stock_levels/{id}
Example URI
PUT https://api.current-rms.com/api/v1/products/1/stock_levels/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired stock level

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "store_id": 1,
    "asset_number": "751-4-45-994617-4",
    "serial_number": "BN45Z3JUTY1ALH6",
    "location": "KQ34",
    "stock_type": 1,
    "opening_at": "2015/10/25",
    "opening_balance": "10.0",
    "quantity_held": "10.0",
    "asset_number_mode": "manual",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "StockLevel"
    },
    "custom_fields": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "asset_number": {
          "type": "string",
          "description": "The stock level asset (barcode) number"
        },
        "serial_number": {
          "type": "string",
          "description": "The stock level serial number"
        },
        "location": {
          "type": "string",
          "description": "The stock level location"
        },
        "stock_type": {
          "type": "number",
          "description": "The stock level stock type (1 = Rental, 2 = Sale)"
        },
        "opening_at": {
          "type": "string",
          "description": "The date this stock level is effective from (only applicable to Rental stock type)"
        },
        "opening_balance": {
          "type": "string",
          "description": "The opening balance (quantity) of stock (only applicable to Bulk stock of Rental stock type)"
        },
        "quantity_held": {
          "type": "string",
          "description": "The quantity of stock (only applicable to Bulk stock of Sale stock type)"
        },
        "asset_number_mode": {
          "type": "string",
          "description": "How to set the asset number when the Automatic Asset Numbers system setting is enabled and creating serialised stock - either automatically using 'auto' or by providing the asset number using 'manual'"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this stock level"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "item_id": 10,
    "store_id": 1,
    "member_id": null,
    "asset_number": "751-4-45-994617-4",
    "serial_number": "BN45Z3JUTY1ALH6",
    "location": "KQ34",
    "stock_type": 1,
    "stock_category": 50,
    "quantity_held": "1.0",
    "quantity_allocated": "0.0",
    "quantity_unavailable": "0.0",
    "quantity_on_order": "0.0",
    "starts_at": "",
    "ends_at": "",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "StockLevel"
    },
    "custom_fields": {},
    "id": 279,
    "item_name": "Canon C300 (PL)",
    "store_name": "Nottingham",
    "stock_type_name": "Rental",
    "stock_category_name": "Bulk Stock",
    "container_stock_level_id": 112,
    "container_mode": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "member_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record this stock level relates to (Services only)"
        },
        "asset_number": {
          "type": "string",
          "description": "The stock level asset (barcode) number"
        },
        "serial_number": {
          "type": "string",
          "description": "The stock level serial number"
        },
        "location": {
          "type": "string",
          "description": "The stock level location"
        },
        "stock_type": {
          "type": "number",
          "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
        },
        "stock_category": {
          "type": "number",
          "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
        },
        "quantity_held": {
          "type": "string",
          "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
        },
        "quantity_allocated": {
          "type": "string",
          "description": "The stock level quantity allocated (only applicable to sales stock)"
        },
        "quantity_unavailable": {
          "type": "string",
          "description": "unused"
        },
        "quantity_on_order": {
          "type": "string",
          "description": "unused"
        },
        "starts_at": {
          "type": "string",
          "description": "The service resource start date (only applicable to service stock)"
        },
        "ends_at": {
          "type": "string",
          "description": "The service resource end date (only applicable to service stock)"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this stock level"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Level record"
        },
        "item_name": {
          "type": "string",
          "description": "(Readonly) The name of the Item (Product or Service)"
        },
        "store_name": {
          "type": "string",
          "description": "(Readonly) The name of the Store"
        },
        "stock_type_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock type name"
        },
        "stock_category_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock category name"
        },
        "container_stock_level_id": {
          "type": "number",
          "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
        },
        "container_mode": {
          "type": "number",
          "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
        }
      }
    }
  }
}
Delete a Stock Level
DELETE/products/{product_id}/stock_levels/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/products/1/stock_levels/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired stock level

Response  204

Stock Levels

List Stock Levels
GET/products/{product_id}/stock_levels
Example URI
GET https://api.current-rms.com/api/v1/products/1/stock_levels
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

include[] (string, optional)item

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; item and icon.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_levels": [
    {
      "item_id": 10,
      "store_id": 1,
      "member_id": null,
      "asset_number": "751-4-45-994617-4",
      "serial_number": "BN45Z3JUTY1ALH6",
      "location": "KQ34",
      "stock_type": 1,
      "stock_category": 50,
      "quantity_held": "1.0",
      "quantity_allocated": "0.0",
      "quantity_unavailable": "0.0",
      "quantity_on_order": "0.0",
      "starts_at": "",
      "ends_at": "",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "StockLevel"
      },
      "custom_fields": {},
      "id": 279,
      "item_name": "Canon C300 (PL)",
      "store_name": "Nottingham",
      "stock_type_name": "Rental",
      "stock_category_name": "Bulk Stock",
      "container_stock_level_id": 112,
      "container_mode": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_levels": {
      "type": "array"
    }
  }
}
Create a Stock Level
POST/products/{product_id}/stock_levels
Example URI
POST https://api.current-rms.com/api/v1/products/1/stock_levels
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "store_id": 1,
    "asset_number": "751-4-45-994617-4",
    "serial_number": "BN45Z3JUTY1ALH6",
    "location": "KQ34",
    "stock_type": 1,
    "opening_at": "2015/10/25",
    "opening_balance": "10.0",
    "quantity_held": "10.0",
    "asset_number_mode": "manual",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "StockLevel"
    },
    "custom_fields": {}
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "asset_number": {
          "type": "string",
          "description": "The stock level asset (barcode) number"
        },
        "serial_number": {
          "type": "string",
          "description": "The stock level serial number"
        },
        "location": {
          "type": "string",
          "description": "The stock level location"
        },
        "stock_type": {
          "type": "number",
          "description": "The stock level stock type (1 = Rental, 2 = Sale)"
        },
        "opening_at": {
          "type": "string",
          "description": "The date this stock level is effective from (only applicable to Rental stock type)"
        },
        "opening_balance": {
          "type": "string",
          "description": "The opening balance (quantity) of stock (only applicable to Bulk stock of Rental stock type)"
        },
        "quantity_held": {
          "type": "string",
          "description": "The quantity of stock (only applicable to Bulk stock of Sale stock type)"
        },
        "asset_number_mode": {
          "type": "string",
          "description": "How to set the asset number when the Automatic Asset Numbers system setting is enabled and creating serialised stock - either automatically using 'auto' or by providing the asset number using 'manual'"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this stock level"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "item_id": 10,
    "store_id": 1,
    "member_id": null,
    "asset_number": "751-4-45-994617-4",
    "serial_number": "BN45Z3JUTY1ALH6",
    "location": "KQ34",
    "stock_type": 1,
    "stock_category": 50,
    "quantity_held": "1.0",
    "quantity_allocated": "0.0",
    "quantity_unavailable": "0.0",
    "quantity_on_order": "0.0",
    "starts_at": "",
    "ends_at": "",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "StockLevel"
    },
    "custom_fields": {},
    "id": 279,
    "item_name": "Canon C300 (PL)",
    "store_name": "Nottingham",
    "stock_type_name": "Rental",
    "stock_category_name": "Bulk Stock",
    "container_stock_level_id": 112,
    "container_mode": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "member_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record this stock level relates to (Services only)"
        },
        "asset_number": {
          "type": "string",
          "description": "The stock level asset (barcode) number"
        },
        "serial_number": {
          "type": "string",
          "description": "The stock level serial number"
        },
        "location": {
          "type": "string",
          "description": "The stock level location"
        },
        "stock_type": {
          "type": "number",
          "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
        },
        "stock_category": {
          "type": "number",
          "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
        },
        "quantity_held": {
          "type": "string",
          "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
        },
        "quantity_allocated": {
          "type": "string",
          "description": "The stock level quantity allocated (only applicable to sales stock)"
        },
        "quantity_unavailable": {
          "type": "string",
          "description": "unused"
        },
        "quantity_on_order": {
          "type": "string",
          "description": "unused"
        },
        "starts_at": {
          "type": "string",
          "description": "The service resource start date (only applicable to service stock)"
        },
        "ends_at": {
          "type": "string",
          "description": "The service resource end date (only applicable to service stock)"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this stock level"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Level record"
        },
        "item_name": {
          "type": "string",
          "description": "(Readonly) The name of the Item (Product or Service)"
        },
        "store_name": {
          "type": "string",
          "description": "(Readonly) The name of the Store"
        },
        "stock_type_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock type name"
        },
        "stock_category_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock category name"
        },
        "container_stock_level_id": {
          "type": "number",
          "description": "(Readonly) The parent container stock level this stock level is contained within (only present for serialized stock levels)"
        },
        "container_mode": {
          "type": "number",
          "description": "(Readonly) The serialised container type of this stock level (null = not a container, 0 = Permanent, 1 = Temporary)"
        }
      }
    }
  }
}

Stock Levels

List Stock Levels (all products & services)
GET/stock_levels
Example URI
GET https://api.current-rms.com/api/v1/stock_levels
Parameters
NameExampleDescription
include[] (string, optional)item

Override association attributes you want included in the response, use multiple include[] parameters to specify multiple associations. Available associations are; item and icon.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_levels": [
    {
      "item_id": 10,
      "store_id": 1,
      "member_id": null,
      "asset_number": "751-4-45-994617-4",
      "serial_number": "BN45Z3JUTY1ALH6",
      "location": "KQ34",
      "stock_type": 1,
      "stock_category": 50,
      "quantity_held": "1.0",
      "quantity_allocated": "0.0",
      "quantity_unavailable": "0.0",
      "quantity_on_order": "0.0",
      "starts_at": "",
      "ends_at": "",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "StockLevel"
      },
      "custom_fields": {},
      "id": 279,
      "item_name": "Canon C300 (PL)",
      "store_name": "Nottingham",
      "stock_type_name": "Rental",
      "stock_category_name": "Bulk Stock",
      "container_stock_level_id": 112,
      "container_mode": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_levels": {
      "type": "array"
    }
  }
}

Stock level examples

Stock levels by asset number
GET/stock_levels
/api/v1/stock_levels?q[asset_number_eq]=483-2-73-151329-2
Example URI
GET https://api.current-rms.com/api/v1/stock_levels

Service Stock Levels

Service Stock Levels hold information related to resources that are associated with a service. member_id will point to a User, Contact, Venue or Vehicle record whose details can be retrieved via the Members route.

Service Stock Level

Retrieve a Service Stock Level
GET/services/{service_id}/stock_levels/{id}
Example URI
GET https://api.current-rms.com/api/v1/services/1/stock_levels/1
Parameters
NameExampleDescription
service_id (number, required)1

The ID of the desired service

id (number, required)1

The ID of the desired stock level

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "item_id": 10,
    "store_id": 1,
    "member_id": 1,
    "asset_number": "Chris Bralton",
    "serial_number": "",
    "location": "",
    "stock_type": 3,
    "stock_category": 60,
    "quantity_held": "1.0",
    "quantity_allocated": "0.0",
    "quantity_unavailable": "0.0",
    "quantity_on_order": "0.0",
    "starts_at": "",
    "ends_at": "",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "StockLevel"
    },
    "custom_fields": {},
    "id": 487,
    "item_name": "Sound Engineer",
    "store_name": "Nottingham",
    "stock_type_name": "Service",
    "stock_category_name": "Resource"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "member_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record this service stock level relates to"
        },
        "asset_number": {
          "type": "string",
          "description": "The member name this service stock level relates to"
        },
        "serial_number": {
          "type": "string",
          "description": "The stock level serial number (N/A)"
        },
        "location": {
          "type": "string",
          "description": "The stock level location"
        },
        "stock_type": {
          "type": "number",
          "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
        },
        "stock_category": {
          "type": "number",
          "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
        },
        "quantity_held": {
          "type": "string",
          "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
        },
        "quantity_allocated": {
          "type": "string",
          "description": "The stock level quantity allocated (only applicable to sales stock)"
        },
        "quantity_unavailable": {
          "type": "string",
          "description": "unused"
        },
        "quantity_on_order": {
          "type": "string",
          "description": "unused"
        },
        "starts_at": {
          "type": "string",
          "description": "The service resource start date (only applicable to service stock)"
        },
        "ends_at": {
          "type": "string",
          "description": "The service resource end date (only applicable to service stock)"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this stock level"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Level record"
        },
        "item_name": {
          "type": "string",
          "description": "(Readonly) The name of the Item (Service)"
        },
        "store_name": {
          "type": "string",
          "description": "(Readonly) The name of the Store"
        },
        "stock_type_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock type name"
        },
        "stock_category_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock category name"
        }
      }
    }
  }
}
Update a Service Stock Level
PUT/services/{service_id}/stock_levels/{id}
Example URI
PUT https://api.current-rms.com/api/v1/services/1/stock_levels/1
Parameters
NameExampleDescription
service_id (number, required)1

The ID of the desired service

id (number, required)1

The ID of the desired stock level

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "store_id": 1,
    "member_id": 1,
    "starts_at": "2018-01-01",
    "ends_at": "2018-12-31"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this stock level relates to"
        },
        "starts_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "Optional start date when the resource is available from"
        },
        "ends_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "Optional end date when the resource is available to"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "item_id": 10,
    "store_id": 1,
    "member_id": 1,
    "asset_number": "Chris Bralton",
    "serial_number": "",
    "location": "",
    "stock_type": 3,
    "stock_category": 60,
    "quantity_held": "1.0",
    "quantity_allocated": "0.0",
    "quantity_unavailable": "0.0",
    "quantity_on_order": "0.0",
    "starts_at": "",
    "ends_at": "",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "StockLevel"
    },
    "custom_fields": {},
    "id": 487,
    "item_name": "Sound Engineer",
    "store_name": "Nottingham",
    "stock_type_name": "Service",
    "stock_category_name": "Resource"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "member_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record this service stock level relates to"
        },
        "asset_number": {
          "type": "string",
          "description": "The member name this service stock level relates to"
        },
        "serial_number": {
          "type": "string",
          "description": "The stock level serial number (N/A)"
        },
        "location": {
          "type": "string",
          "description": "The stock level location"
        },
        "stock_type": {
          "type": "number",
          "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
        },
        "stock_category": {
          "type": "number",
          "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
        },
        "quantity_held": {
          "type": "string",
          "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
        },
        "quantity_allocated": {
          "type": "string",
          "description": "The stock level quantity allocated (only applicable to sales stock)"
        },
        "quantity_unavailable": {
          "type": "string",
          "description": "unused"
        },
        "quantity_on_order": {
          "type": "string",
          "description": "unused"
        },
        "starts_at": {
          "type": "string",
          "description": "The service resource start date (only applicable to service stock)"
        },
        "ends_at": {
          "type": "string",
          "description": "The service resource end date (only applicable to service stock)"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this stock level"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Level record"
        },
        "item_name": {
          "type": "string",
          "description": "(Readonly) The name of the Item (Service)"
        },
        "store_name": {
          "type": "string",
          "description": "(Readonly) The name of the Store"
        },
        "stock_type_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock type name"
        },
        "stock_category_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock category name"
        }
      }
    }
  }
}

Service Stock Levels

List Service Stock Levels
GET/services/{service_id}/stock_levels
Example URI
GET https://api.current-rms.com/api/v1/services/1/stock_levels
Parameters
NameExampleDescription
service_id (number, required)1

The ID of the desired service

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_levels": [
    {
      "item_id": 10,
      "store_id": 1,
      "member_id": 1,
      "asset_number": "Chris Bralton",
      "serial_number": "",
      "location": "",
      "stock_type": 3,
      "stock_category": 60,
      "quantity_held": "1.0",
      "quantity_allocated": "0.0",
      "quantity_unavailable": "0.0",
      "quantity_on_order": "0.0",
      "starts_at": "",
      "ends_at": "",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "StockLevel"
      },
      "custom_fields": {},
      "id": 487,
      "item_name": "Sound Engineer",
      "store_name": "Nottingham",
      "stock_type_name": "Service",
      "stock_category_name": "Resource"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_levels": {
      "type": "array"
    }
  }
}
Create a Service Stock Level
POST/services/{service_id}/stock_levels
Example URI
POST https://api.current-rms.com/api/v1/services/1/stock_levels
Parameters
NameExampleDescription
service_id (number, required)1

The ID of the desired service

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "store_id": 1,
    "member_id": 1,
    "starts_at": "2018-01-01",
    "ends_at": "2018-12-31"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "member_id": {
          "type": "number",
          "description": "The internal identifier of the Member record this stock level relates to"
        },
        "starts_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "Optional start date when the resource is available from"
        },
        "ends_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "Optional end date when the resource is available to"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_level": {
    "item_id": 10,
    "store_id": 1,
    "member_id": 1,
    "asset_number": "Chris Bralton",
    "serial_number": "",
    "location": "",
    "stock_type": 3,
    "stock_category": 60,
    "quantity_held": "1.0",
    "quantity_allocated": "0.0",
    "quantity_unavailable": "0.0",
    "quantity_on_order": "0.0",
    "starts_at": "",
    "ends_at": "",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "StockLevel"
    },
    "custom_fields": {},
    "id": 487,
    "item_name": "Sound Engineer",
    "store_name": "Nottingham",
    "stock_type_name": "Service",
    "stock_category_name": "Resource"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_level": {
      "type": "object",
      "properties": {
        "item_id": {
          "type": "number",
          "description": "The internal identifier of the Item (Product or Service) record this stock level is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock level relates to"
        },
        "member_id": {
          "type": [
            "number",
            "null"
          ],
          "description": "The internal identifier of the Member record this service stock level relates to"
        },
        "asset_number": {
          "type": "string",
          "description": "The member name this service stock level relates to"
        },
        "serial_number": {
          "type": "string",
          "description": "The stock level serial number (N/A)"
        },
        "location": {
          "type": "string",
          "description": "The stock level location"
        },
        "stock_type": {
          "type": "number",
          "description": "The stock level stock type (1 = Rental, 2 = Sale, 3 = Service)"
        },
        "stock_category": {
          "type": "number",
          "description": "The stock level stock category (Non Stock Booking = 10, Bulk Stock = 20, Group Booking = 30, Sub Rent Booking = 40, Serialised Stock = 50, Resource Stock = 60)"
        },
        "quantity_held": {
          "type": "string",
          "description": "The stock level quantity held (the opening balance of rental assets or current stock amount for sales stock)"
        },
        "quantity_allocated": {
          "type": "string",
          "description": "The stock level quantity allocated (only applicable to sales stock)"
        },
        "quantity_unavailable": {
          "type": "string",
          "description": "unused"
        },
        "quantity_on_order": {
          "type": "string",
          "description": "unused"
        },
        "starts_at": {
          "type": "string",
          "description": "The service resource start date (only applicable to service stock)"
        },
        "ends_at": {
          "type": "string",
          "description": "The service resource end date (only applicable to service stock)"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this stock level"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Level record"
        },
        "item_name": {
          "type": "string",
          "description": "(Readonly) The name of the Item (Service)"
        },
        "store_name": {
          "type": "string",
          "description": "(Readonly) The name of the Store"
        },
        "stock_type_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock type name"
        },
        "stock_category_name": {
          "type": "string",
          "description": "(Readonly) The stock level stock category name"
        }
      }
    }
  }
}

Stock Transactions

A Stock Transaction represents an increase or decrease of stock against a Stock Level

Stock Transaction

Retrieve a Stock Transaction
GET/products/{product_id}/stock_levels/{stock_level_id}/stock_transactions/{id}
Example URI
GET https://api.current-rms.com/api/v1/products/1/stock_levels/1/stock_transactions/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired stock level

id (number, required)1

The ID of the desired stock transaction

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_transaction": {
    "transaction_at": "2015-06-28T00:00:00.000Z",
    "quantity": "1.0",
    "description": "Hello, world!",
    "id": 695,
    "stock_level_id": 626,
    "store_id": 1,
    "source_id": 1,
    "source_type": "Member",
    "transaction_type": 1,
    "transaction_type_name": "Opening Balance",
    "quantity_move": "1.0",
    "manual": false,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_transaction": {
      "type": "object",
      "properties": {
        "transaction_at": {
          "type": "string",
          "description": "The transaction date/time"
        },
        "quantity": {
          "type": "string",
          "description": "The transaction quantity"
        },
        "description": {
          "type": "string",
          "description": "The long description for this transaction"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Transaction record"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this stock transaction is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock transaction relates to"
        },
        "source_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the source record this stock transaction is for"
        },
        "source_type": {
          "type": "string",
          "description": "(Readonly) The source record object type"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (opening = 1, increase = 2, decrease = 3, buy = 4, find = 5, write_off = 6, sell = 7, return = 8, make = 9, transfer out = 10, transfer in = 11)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "quantity_move": {
          "type": "string",
          "description": "(Readonly) The signed transaction quantity (negative for reduction, positive for increase)"
        },
        "manual": {
          "type": "boolean",
          "description": "(Readonly) Is this transaction manually created (i.e. not a system transaction)?"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Transaction record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Transaction record was last updated"
        }
      }
    }
  }
}
Update a Stock Transaction
PUT/products/{product_id}/stock_levels/{stock_level_id}/stock_transactions/{id}
Example URI
PUT https://api.current-rms.com/api/v1/products/1/stock_levels/1/stock_transactions/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired stock level

id (number, required)1

The ID of the desired stock transaction

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_transaction": {
    "transaction_at": "2015-06-28T00:00:00.000Z",
    "quantity": "1.0",
    "description": "Hello, world!"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_transaction": {
      "type": "object",
      "properties": {
        "transaction_at": {
          "type": "string",
          "description": "The transaction date/time"
        },
        "quantity": {
          "type": "string",
          "description": "The transaction quantity"
        },
        "description": {
          "type": "string",
          "description": "The long description for this transaction"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_transaction": {
    "transaction_at": "2015-06-28T00:00:00.000Z",
    "quantity": "1.0",
    "description": "Hello, world!",
    "id": 695,
    "stock_level_id": 626,
    "store_id": 1,
    "source_id": 1,
    "source_type": "Member",
    "transaction_type": 1,
    "transaction_type_name": "Opening Balance",
    "quantity_move": "1.0",
    "manual": false,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_transaction": {
      "type": "object",
      "properties": {
        "transaction_at": {
          "type": "string",
          "description": "The transaction date/time"
        },
        "quantity": {
          "type": "string",
          "description": "The transaction quantity"
        },
        "description": {
          "type": "string",
          "description": "The long description for this transaction"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Transaction record"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this stock transaction is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock transaction relates to"
        },
        "source_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the source record this stock transaction is for"
        },
        "source_type": {
          "type": "string",
          "description": "(Readonly) The source record object type"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (opening = 1, increase = 2, decrease = 3, buy = 4, find = 5, write_off = 6, sell = 7, return = 8, make = 9, transfer out = 10, transfer in = 11)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "quantity_move": {
          "type": "string",
          "description": "(Readonly) The signed transaction quantity (negative for reduction, positive for increase)"
        },
        "manual": {
          "type": "boolean",
          "description": "(Readonly) Is this transaction manually created (i.e. not a system transaction)?"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Transaction record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Transaction record was last updated"
        }
      }
    }
  }
}
Delete a Stock Transaction
DELETE/products/{product_id}/stock_levels/{stock_level_id}/stock_transactions/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/products/1/stock_levels/1/stock_transactions/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired stock level

id (number, required)1

The ID of the desired stock transaction

Response  204

Stock Transactions

List Stock Transactions
GET/products/{product_id}/stock_levels/{stock_level_id}/stock_transactions
Example URI
GET https://api.current-rms.com/api/v1/products/1/stock_levels/1/stock_transactions
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired stock level

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_transactions": [
    {
      "transaction_at": "2015-06-28T00:00:00.000Z",
      "quantity": "1.0",
      "description": "Hello, world!",
      "id": 695,
      "stock_level_id": 626,
      "store_id": 1,
      "source_id": 1,
      "source_type": "Member",
      "transaction_type": 1,
      "transaction_type_name": "Opening Balance",
      "quantity_move": "1.0",
      "manual": false,
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_transactions": {
      "type": "array"
    }
  }
}
Create a Stock Transaction
POST/products/{product_id}/stock_levels/{stock_level_id}/stock_transactions

When creating a stock transaction you may only use the following transactions types: -

buy = 4, find = 5, write_off = 6, sell = 7, make = 9

Example URI
POST https://api.current-rms.com/api/v1/products/1/stock_levels/1/stock_transactions
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired stock level

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_transaction": {
    "transaction_at": "2015-06-28T00:00:00.000Z",
    "quantity": "1.0",
    "description": "Hello, world!",
    "transaction_type": 4
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_transaction": {
      "type": "object",
      "properties": {
        "transaction_at": {
          "type": "string",
          "description": "The transaction date/time"
        },
        "quantity": {
          "type": "string",
          "description": "The transaction quantity"
        },
        "description": {
          "type": "string",
          "description": "The long description for this transaction"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (buy = 4, find = 5, write_off = 6, sell = 7, make = 9)"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_transaction": {
    "transaction_at": "2015-06-28T00:00:00.000Z",
    "quantity": "1.0",
    "description": "Hello, world!",
    "id": 695,
    "stock_level_id": 626,
    "store_id": 1,
    "source_id": 1,
    "source_type": "Member",
    "transaction_type": 1,
    "transaction_type_name": "Opening Balance",
    "quantity_move": "1.0",
    "manual": false,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_transaction": {
      "type": "object",
      "properties": {
        "transaction_at": {
          "type": "string",
          "description": "The transaction date/time"
        },
        "quantity": {
          "type": "string",
          "description": "The transaction quantity"
        },
        "description": {
          "type": "string",
          "description": "The long description for this transaction"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Transaction record"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this stock transaction is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock transaction relates to"
        },
        "source_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the source record this stock transaction is for"
        },
        "source_type": {
          "type": "string",
          "description": "(Readonly) The source record object type"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (opening = 1, increase = 2, decrease = 3, buy = 4, find = 5, write_off = 6, sell = 7, return = 8, make = 9, transfer out = 10, transfer in = 11)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "quantity_move": {
          "type": "string",
          "description": "(Readonly) The signed transaction quantity (negative for reduction, positive for increase)"
        },
        "manual": {
          "type": "boolean",
          "description": "(Readonly) Is this transaction manually created (i.e. not a system transaction)?"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Transaction record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Transaction record was last updated"
        }
      }
    }
  }
}

Stock transaction examples

Stock transactions for multiple products by ID
GET/stock_transactions
/api/v1/stock_transactions?q[stock_level_item_id_in][]=123&q[stock_level_item_id_in][]=456
Example URI
GET https://api.current-rms.com/api/v1/stock_transactions

Store Transfers

A Store Transfer represents a movement of stock for a stock level from one store to another

Store Transfer

Create a Store Transfer
POST/products/{product_id}/stock_levels/{stock_level_id}/store_transfer
Example URI
POST https://api.current-rms.com/api/v1/products/1/stock_levels/1/store_transfer
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

stock_level_id (number, required)1

The ID of the desired stock level

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_transaction": {
    "transaction_at": "2015-06-28T00:00:00.000Z",
    "quantity": "1.0",
    "description": "Hello, world!",
    "to_store_id": 1,
    "to_location": "KQ34"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_transaction": {
      "type": "object",
      "properties": {
        "transaction_at": {
          "type": "string",
          "description": "The transaction date/time"
        },
        "quantity": {
          "type": "string",
          "description": "The transaction quantity"
        },
        "description": {
          "type": "string",
          "description": "The long description for this transaction"
        },
        "to_store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this store transfer is sending stock to"
        },
        "to_location": {
          "type": "string",
          "description": "An optional new location for the stock level, only applied to serialised stock levels"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stock_transaction": {
    "transaction_at": "2015-06-28T00:00:00.000Z",
    "quantity": "1.0",
    "description": "Hello, world!",
    "id": 695,
    "stock_level_id": 626,
    "store_id": 1,
    "source_id": 1,
    "source_type": "Member",
    "transaction_type": 1,
    "transaction_type_name": "Opening Balance",
    "quantity_move": "1.0",
    "manual": false,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stock_transaction": {
      "type": "object",
      "properties": {
        "transaction_at": {
          "type": "string",
          "description": "The transaction date/time"
        },
        "quantity": {
          "type": "string",
          "description": "The transaction quantity"
        },
        "description": {
          "type": "string",
          "description": "The long description for this transaction"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Stock Transaction record"
        },
        "stock_level_id": {
          "type": "number",
          "description": "The internal identifier of the Stock Level record this stock transaction is for"
        },
        "store_id": {
          "type": "number",
          "description": "The internal identifier of the Store record this stock transaction relates to"
        },
        "source_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the source record this stock transaction is for"
        },
        "source_type": {
          "type": "string",
          "description": "(Readonly) The source record object type"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (opening = 1, increase = 2, decrease = 3, buy = 4, find = 5, write_off = 6, sell = 7, return = 8, make = 9, transfer out = 10, transfer in = 11)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "quantity_move": {
          "type": "string",
          "description": "(Readonly) The signed transaction quantity (negative for reduction, positive for increase)"
        },
        "manual": {
          "type": "boolean",
          "description": "(Readonly) Is this transaction manually created (i.e. not a system transaction)?"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Transaction record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Stock Transaction record was last updated"
        }
      }
    }
  }
}

Stores

A Store represents a location that holds stock of your products and services

Store

Retrieve a Store
GET/stores/{id}
Example URI
GET https://api.current-rms.com/api/v1/stores/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired store

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "store": {
    "country_id": 1,
    "region_id": 1,
    "name": "Nottingham",
    "street": "16 The Triangle",
    "city": "Nottingham",
    "county": "Nottinghamshire",
    "postcode": "NG2 1AE",
    "id": 279
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "store": {
      "type": "object",
      "properties": {
        "country_id": {
          "type": "number",
          "description": "The internal identifier of the Country record this store is related to"
        },
        "region_id": {
          "type": "number",
          "description": "Unused"
        },
        "name": {
          "type": "string",
          "description": "The store name"
        },
        "street": {
          "type": "string",
          "description": "The store street address"
        },
        "city": {
          "type": "string",
          "description": "The store city name"
        },
        "county": {
          "type": "string",
          "description": "The store county or state"
        },
        "postcode": {
          "type": "string",
          "description": "The store postal or zip code"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Store record"
        }
      }
    }
  }
}
Update a Store
PUT/stores/{id}
Example URI
PUT https://api.current-rms.com/api/v1/stores/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired store

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "store": {
    "country_id": 1,
    "region_id": 1,
    "name": "Nottingham",
    "street": "16 The Triangle",
    "city": "Nottingham",
    "county": "Nottinghamshire",
    "postcode": "NG2 1AE",
    "icon": {
      "image": "Hello, world!"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "store": {
      "type": "object",
      "properties": {
        "country_id": {
          "type": "number",
          "description": "The internal identifier of the Country record this store is related to"
        },
        "region_id": {
          "type": "number",
          "description": "Unused"
        },
        "name": {
          "type": "string",
          "description": "The store name"
        },
        "street": {
          "type": "string",
          "description": "The store street address"
        },
        "city": {
          "type": "string",
          "description": "The store city name"
        },
        "county": {
          "type": "string",
          "description": "The store county or state"
        },
        "postcode": {
          "type": "string",
          "description": "The store postal or zip code"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this store"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "store": {
    "country_id": 1,
    "region_id": 1,
    "name": "Nottingham",
    "street": "16 The Triangle",
    "city": "Nottingham",
    "county": "Nottinghamshire",
    "postcode": "NG2 1AE",
    "id": 279
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "store": {
      "type": "object",
      "properties": {
        "country_id": {
          "type": "number",
          "description": "The internal identifier of the Country record this store is related to"
        },
        "region_id": {
          "type": "number",
          "description": "Unused"
        },
        "name": {
          "type": "string",
          "description": "The store name"
        },
        "street": {
          "type": "string",
          "description": "The store street address"
        },
        "city": {
          "type": "string",
          "description": "The store city name"
        },
        "county": {
          "type": "string",
          "description": "The store county or state"
        },
        "postcode": {
          "type": "string",
          "description": "The store postal or zip code"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Store record"
        }
      }
    }
  }
}

Stores

List Stores
GET/stores
Example URI
GET https://api.current-rms.com/api/v1/stores
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "stores": [
    {
      "country_id": 1,
      "region_id": 1,
      "name": "Nottingham",
      "street": "16 The Triangle",
      "city": "Nottingham",
      "county": "Nottinghamshire",
      "postcode": "NG2 1AE",
      "id": 279
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "stores": {
      "type": "array"
    }
  }
}
Create a Store
POST/stores
Example URI
POST https://api.current-rms.com/api/v1/stores
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "store": {
    "country_id": 1,
    "region_id": 1,
    "name": "Nottingham",
    "street": "16 The Triangle",
    "city": "Nottingham",
    "county": "Nottinghamshire",
    "postcode": "NG2 1AE",
    "icon": {
      "image": "Hello, world!"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "store": {
      "type": "object",
      "properties": {
        "country_id": {
          "type": "number",
          "description": "The internal identifier of the Country record this store is related to"
        },
        "region_id": {
          "type": "number",
          "description": "Unused"
        },
        "name": {
          "type": "string",
          "description": "The store name"
        },
        "street": {
          "type": "string",
          "description": "The store street address"
        },
        "city": {
          "type": "string",
          "description": "The store city name"
        },
        "county": {
          "type": "string",
          "description": "The store county or state"
        },
        "postcode": {
          "type": "string",
          "description": "The store postal or zip code"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this store"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "store": {
    "country_id": 1,
    "region_id": 1,
    "name": "Nottingham",
    "street": "16 The Triangle",
    "city": "Nottingham",
    "county": "Nottinghamshire",
    "postcode": "NG2 1AE",
    "id": 279
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "store": {
      "type": "object",
      "properties": {
        "country_id": {
          "type": "number",
          "description": "The internal identifier of the Country record this store is related to"
        },
        "region_id": {
          "type": "number",
          "description": "Unused"
        },
        "name": {
          "type": "string",
          "description": "The store name"
        },
        "street": {
          "type": "string",
          "description": "The store street address"
        },
        "city": {
          "type": "string",
          "description": "The store city name"
        },
        "county": {
          "type": "string",
          "description": "The store county or state"
        },
        "postcode": {
          "type": "string",
          "description": "The store postal or zip code"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Store record"
        }
      }
    }
  }
}

Supplier Costs

A Supplier Cost represents the default cost when sub-renting or purchasing a product, or sub-contracting a service.

Product Supplier Cost

Retrieve a Supplier Cost
GET/products/{product_id}/supplier_costs/{id}
Example URI
GET https://api.current-rms.com/api/v1/products/1/supplier_costs/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired supplier cost

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "price": 100,
    "rate_definition_id": 1,
    "id": 1,
    "item_id": 20,
    "member_id": 1,
    "member_name": "Bralton Industries",
    "transaction_type": 1,
    "transaction_type_name": "Sub-Rental",
    "rate_definition_name": "Fixed"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "price": {
          "type": "number",
          "description": "The cost price"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record a sub-rental Supplier Cost relates to"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Supplier Cost record"
        },
        "item_id": {
          "type": "number",
          "description": "The identifier of the Product record"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member resource record"
        },
        "member_name": {
          "type": "string",
          "description": "(Readonly) The name of the supplier"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Sub-Rental, 2 = Purchase)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "rate_definition_name": {
          "type": "string",
          "description": "(Readonly) The name of the Rate Definition record a sub-rental Supplier Cost relates to"
        }
      }
    }
  }
}
Update a Supplier Cost
PUT/products/{product_id}/supplier_costs/{id}
Example URI
PUT https://api.current-rms.com/api/v1/products/1/supplier_costs/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired supplier cost

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "price": 100,
    "rate_definition_id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "price": {
          "type": "number",
          "description": "The cost price"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record a sub-rental Supplier Cost relates to"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "price": 100,
    "rate_definition_id": 1,
    "id": 1,
    "item_id": 20,
    "member_id": 1,
    "member_name": "Bralton Industries",
    "transaction_type": 1,
    "transaction_type_name": "Sub-Rental",
    "rate_definition_name": "Fixed"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "price": {
          "type": "number",
          "description": "The cost price"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record a sub-rental Supplier Cost relates to"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Supplier Cost record"
        },
        "item_id": {
          "type": "number",
          "description": "The identifier of the Product record"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member resource record"
        },
        "member_name": {
          "type": "string",
          "description": "(Readonly) The name of the supplier"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Sub-Rental, 2 = Purchase)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "rate_definition_name": {
          "type": "string",
          "description": "(Readonly) The name of the Rate Definition record a sub-rental Supplier Cost relates to"
        }
      }
    }
  }
}
Delete a Supplier Cost
DELETE/products/{product_id}/supplier_costs/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/products/1/supplier_costs/1
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

id (number, required)1

The ID of the desired supplier cost

Response  204

Product Supplier Costs

List Supplier Costs
GET/products/{product_id}/supplier_costs{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/products/1/supplier_costs?page=1&per_page=20
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_costs": [
    {
      "price": 100,
      "rate_definition_id": 1,
      "id": 1,
      "item_id": 20,
      "member_id": 1,
      "member_name": "Bralton Industries",
      "transaction_type": 1,
      "transaction_type_name": "Sub-Rental",
      "rate_definition_name": "Fixed"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_costs": {
      "type": "array"
    }
  }
}
Create a Supplier Cost
POST/products/{product_id}/supplier_costs{?page,per_page}
Example URI
POST https://api.current-rms.com/api/v1/products/1/supplier_costs?page=1&per_page=20
Parameters
NameExampleDescription
product_id (number, required)1

The ID of the desired product

page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "price": 100,
    "rate_definition_id": 1,
    "member_id": 1,
    "transaction_type": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "price": {
          "type": "number",
          "description": "The cost price"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record a sub-rental Supplier Cost relates to"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member resource record"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Sub-Rental, 2 = Purchase)"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "price": 100,
    "rate_definition_id": 1,
    "id": 1,
    "item_id": 20,
    "member_id": 1,
    "member_name": "Bralton Industries",
    "transaction_type": 1,
    "transaction_type_name": "Sub-Rental",
    "rate_definition_name": "Fixed"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "price": {
          "type": "number",
          "description": "The cost price"
        },
        "rate_definition_id": {
          "type": "number",
          "description": "The internal identifier of the Rate Definition record a sub-rental Supplier Cost relates to"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Supplier Cost record"
        },
        "item_id": {
          "type": "number",
          "description": "The identifier of the Product record"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member resource record"
        },
        "member_name": {
          "type": "string",
          "description": "(Readonly) The name of the supplier"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (1 = Sub-Rental, 2 = Purchase)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        },
        "rate_definition_name": {
          "type": "string",
          "description": "(Readonly) The name of the Rate Definition record a sub-rental Supplier Cost relates to"
        }
      }
    }
  }
}

Service Supplier Cost

Retrieve a Supplier Cost
GET/services/{service_id}/supplier_costs/{id}
Example URI
GET https://api.current-rms.com/api/v1/services/1/supplier_costs/1
Parameters
NameExampleDescription
service_id (number, required)1

The ID of the desired service

id (number, required)1

The ID of the desired supplier cost

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "day_price": 100,
    "hour_price": 15,
    "distance_price": 1,
    "flat_rate_price": 300,
    "id": 1,
    "item_id": 30,
    "member_id": 1,
    "member_name": "Bralton Industries",
    "transaction_type": 3,
    "transaction_type_name": "Sub-Contract"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "day_price": {
          "type": "number",
          "description": "The daily cost"
        },
        "hour_price": {
          "type": "number",
          "description": "The hourly cost"
        },
        "distance_price": {
          "type": "number",
          "description": "The distance cost"
        },
        "flat_rate_price": {
          "type": "number",
          "description": "The flat rate cost"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Supplier Cost record"
        },
        "item_id": {
          "type": "number",
          "description": "The identifier of the Service record"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member resource record"
        },
        "member_name": {
          "type": "string",
          "description": "(Readonly) The name of the supplier"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (3 = Sub-Contract)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        }
      }
    }
  }
}
Update a Supplier Cost
PUT/services/{service_id}/supplier_costs/{id}
Example URI
PUT https://api.current-rms.com/api/v1/services/1/supplier_costs/1
Parameters
NameExampleDescription
service_id (number, required)1

The ID of the desired service

id (number, required)1

The ID of the desired supplier cost

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "day_price": 100,
    "hour_price": 15,
    "distance_price": 1,
    "flat_rate_price": 300
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "day_price": {
          "type": "number",
          "description": "The daily cost"
        },
        "hour_price": {
          "type": "number",
          "description": "The hourly cost"
        },
        "distance_price": {
          "type": "number",
          "description": "The distance cost"
        },
        "flat_rate_price": {
          "type": "number",
          "description": "The flat rate cost"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "day_price": 100,
    "hour_price": 15,
    "distance_price": 1,
    "flat_rate_price": 300,
    "id": 1,
    "item_id": 30,
    "member_id": 1,
    "member_name": "Bralton Industries",
    "transaction_type": 3,
    "transaction_type_name": "Sub-Contract"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "day_price": {
          "type": "number",
          "description": "The daily cost"
        },
        "hour_price": {
          "type": "number",
          "description": "The hourly cost"
        },
        "distance_price": {
          "type": "number",
          "description": "The distance cost"
        },
        "flat_rate_price": {
          "type": "number",
          "description": "The flat rate cost"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Supplier Cost record"
        },
        "item_id": {
          "type": "number",
          "description": "The identifier of the Service record"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member resource record"
        },
        "member_name": {
          "type": "string",
          "description": "(Readonly) The name of the supplier"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (3 = Sub-Contract)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        }
      }
    }
  }
}
Delete a Supplier Cost
DELETE/services/{service_id}/supplier_costs/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/services/1/supplier_costs/1
Parameters
NameExampleDescription
service_id (number, required)1

The ID of the desired service

id (number, required)1

The ID of the desired supplier cost

Response  204

Service Supplier Costs

List Supplier Costs
GET/services/{service_id}/supplier_costs{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/services/1/supplier_costs?page=1&per_page=20
Parameters
NameExampleDescription
service_id (number, required)1

The ID of the desired service

page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_costs": [
    {
      "day_price": 100,
      "hour_price": 15,
      "distance_price": 1,
      "flat_rate_price": 300,
      "id": 1,
      "item_id": 30,
      "member_id": 1,
      "member_name": "Bralton Industries",
      "transaction_type": 3,
      "transaction_type_name": "Sub-Contract"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_costs": {
      "type": "array"
    }
  }
}
Create a Supplier Cost
POST/services/{service_id}/supplier_costs{?page,per_page}
Example URI
POST https://api.current-rms.com/api/v1/services/1/supplier_costs?page=1&per_page=20
Parameters
NameExampleDescription
service_id (number, required)1

The ID of the desired service

page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "day_price": 100,
    "hour_price": 15,
    "distance_price": 1,
    "flat_rate_price": 300,
    "member_id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "day_price": {
          "type": "number",
          "description": "The daily cost"
        },
        "hour_price": {
          "type": "number",
          "description": "The hourly cost"
        },
        "distance_price": {
          "type": "number",
          "description": "The distance cost"
        },
        "flat_rate_price": {
          "type": "number",
          "description": "The flat rate cost"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member resource record"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "supplier_cost": {
    "day_price": 100,
    "hour_price": 15,
    "distance_price": 1,
    "flat_rate_price": 300,
    "id": 1,
    "item_id": 30,
    "member_id": 1,
    "member_name": "Bralton Industries",
    "transaction_type": 3,
    "transaction_type_name": "Sub-Contract"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "supplier_cost": {
      "type": "object",
      "properties": {
        "day_price": {
          "type": "number",
          "description": "The daily cost"
        },
        "hour_price": {
          "type": "number",
          "description": "The hourly cost"
        },
        "distance_price": {
          "type": "number",
          "description": "The distance cost"
        },
        "flat_rate_price": {
          "type": "number",
          "description": "The flat rate cost"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Supplier Cost record"
        },
        "item_id": {
          "type": "number",
          "description": "The identifier of the Service record"
        },
        "member_id": {
          "type": "number",
          "description": "The identifier of the Member resource record"
        },
        "member_name": {
          "type": "string",
          "description": "(Readonly) The name of the supplier"
        },
        "transaction_type": {
          "type": "number",
          "description": "The transaction type (3 = Sub-Contract)"
        },
        "transaction_type_name": {
          "type": "string",
          "description": "(Readonly) The transaction type name"
        }
      }
    }
  }
}

Vehicles

A Vehicle represents a form of transport that can allocated to a service booking

Vehicle

Retrieve a Vehicle
GET/vehicles/{id}
Example URI
GET https://api.current-rms.com/api/v1/vehicles/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired vehicle

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Transit Van",
    "membership_type": "Vehicle",
    "description": "",
    "active": true,
    "bookable": true,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {
      "id": 1,
      "plate": "YE70 ABC",
      "payload": "1000",
      "volume": "100",
      "width": "100",
      "height": "100",
      "length": "100"
    },
    "id": 1,
    "uuid": "ffa18e10-0b8d-0133-3bc5-34750ee4a85a",
    "membership_id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Member"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the vehicle"
        },
        "membership_type": {
          "type": "string",
          "description": "The Vehicle record type (always Vehicle)"
        },
        "description": {
          "type": "string",
          "description": "A long description of this vehicle"
        },
        "active": {
          "type": "boolean",
          "description": "Is this vehicle active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is this vehicle a bookable resource?"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Vehicle record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the membership record"
            },
            "plate": {
              "type": "string",
              "description": "(string) The vehicle number/registration plate"
            },
            "payload": {
              "type": "string",
              "description": "(number) The vehicle's payload (in KGs or Lbs)"
            },
            "volume": {
              "type": "string",
              "description": "(number) The vehicles volume (capacity)"
            },
            "width": {
              "type": "string",
              "description": "(number) The vehicle's width"
            },
            "height": {
              "type": "string",
              "description": "(number) The vehicle's height"
            },
            "length": {
              "type": "string",
              "description": "(number) The vehicle's length"
            }
          },
          "description": "A membership object"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Vehicle record"
        },
        "uuid": {
          "type": "string",
          "description": "(Readonly) A unique identifer for this Vehicle record"
        },
        "membership_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Vehicle record's Membership record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Vehicle record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Vehicle record was last updated"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this vehicle"
        }
      },
      "required": [
        "membership_type"
      ]
    }
  }
}
Update a Vehicle
PUT/vehicles/{id}
Example URI
PUT https://api.current-rms.com/api/v1/vehicles/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired vehicle

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Transit Van",
    "membership_type": "Vehicle",
    "description": "",
    "active": true,
    "bookable": true,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {
      "id": 1,
      "plate": "YE70 ABC",
      "payload": "1000",
      "volume": "100",
      "width": "100",
      "height": "100",
      "length": "100"
    },
    "icon": {
      "image": ""
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the vehicle"
        },
        "membership_type": {
          "type": "string",
          "description": "The Vehicle record type (always Vehicle)"
        },
        "description": {
          "type": "string",
          "description": "A long description of this vehicle"
        },
        "active": {
          "type": "boolean",
          "description": "Is this vehicle active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is this vehicle a bookable resource?"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Vehicle record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the membership record"
            },
            "plate": {
              "type": "string",
              "description": "(string) The vehicle number/registration plate"
            },
            "payload": {
              "type": "string",
              "description": "(number) The vehicle's payload (in KGs or Lbs)"
            },
            "volume": {
              "type": "string",
              "description": "(number) The vehicles volume (capacity)"
            },
            "width": {
              "type": "string",
              "description": "(number) The vehicle's width"
            },
            "height": {
              "type": "string",
              "description": "(number) The vehicle's height"
            },
            "length": {
              "type": "string",
              "description": "(number) The vehicle's length"
            }
          },
          "description": "A membership object"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this vehicle"
        }
      },
      "required": [
        "membership_type"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Transit Van",
    "membership_type": "Vehicle",
    "description": "",
    "active": true,
    "bookable": true,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {
      "id": 1,
      "plate": "YE70 ABC",
      "payload": "1000",
      "volume": "100",
      "width": "100",
      "height": "100",
      "length": "100"
    },
    "id": 1,
    "uuid": "ffa18e10-0b8d-0133-3bc5-34750ee4a85a",
    "membership_id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Member"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the vehicle"
        },
        "membership_type": {
          "type": "string",
          "description": "The Vehicle record type (always Vehicle)"
        },
        "description": {
          "type": "string",
          "description": "A long description of this vehicle"
        },
        "active": {
          "type": "boolean",
          "description": "Is this vehicle active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is this vehicle a bookable resource?"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Vehicle record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the membership record"
            },
            "plate": {
              "type": "string",
              "description": "(string) The vehicle number/registration plate"
            },
            "payload": {
              "type": "string",
              "description": "(number) The vehicle's payload (in KGs or Lbs)"
            },
            "volume": {
              "type": "string",
              "description": "(number) The vehicles volume (capacity)"
            },
            "width": {
              "type": "string",
              "description": "(number) The vehicle's width"
            },
            "height": {
              "type": "string",
              "description": "(number) The vehicle's height"
            },
            "length": {
              "type": "string",
              "description": "(number) The vehicle's length"
            }
          },
          "description": "A membership object"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Vehicle record"
        },
        "uuid": {
          "type": "string",
          "description": "(Readonly) A unique identifer for this Vehicle record"
        },
        "membership_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Vehicle record's Membership record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Vehicle record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Vehicle record was last updated"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this vehicle"
        }
      },
      "required": [
        "membership_type"
      ]
    }
  }
}
Delete a Vehicle
DELETE/vehicles/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/vehicles/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired vehicle

Response  204

Vehicles

List Vehicles
GET/vehicles
Example URI
GET https://api.current-rms.com/api/v1/vehicles
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "members": [
    {
      "name": "Transit Van",
      "membership_type": "Vehicle",
      "description": "",
      "active": true,
      "bookable": true,
      "tag_list": [
        "[\"Red\", \"Blue\", \"Green\"]"
      ],
      "custom_fields": {},
      "membership": {
        "id": 1,
        "plate": "YE70 ABC",
        "payload": "1000",
        "volume": "100",
        "width": "100",
        "height": "100",
        "length": "100"
      },
      "id": 1,
      "uuid": "ffa18e10-0b8d-0133-3bc5-34750ee4a85a",
      "membership_id": 1,
      "created_at": "2015-06-25T11:14:32.087Z",
      "updated_at": "2015-07-13T11:14:32.095Z",
      "icon": {
        "iconable_id": 85,
        "id": 1,
        "image_file_name": "abigail.jpeg",
        "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
        "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
        "created_at": "2015-06-29T10:00:00.000Z",
        "updated_at": "2015-06-29T10:30:00.000Z",
        "iconable_type": "Member"
      }
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "members": {
      "type": "array"
    }
  }
}
Create a Vehicle
POST/vehicles
Example URI
POST https://api.current-rms.com/api/v1/vehicles
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Transit Van",
    "membership_type": "Vehicle",
    "description": "",
    "active": true,
    "bookable": true,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {
      "id": 1,
      "plate": "YE70 ABC",
      "payload": "1000",
      "volume": "100",
      "width": "100",
      "height": "100",
      "length": "100"
    },
    "icon": {
      "image": ""
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the vehicle"
        },
        "membership_type": {
          "type": "string",
          "description": "The Vehicle record type (always Vehicle)"
        },
        "description": {
          "type": "string",
          "description": "A long description of this vehicle"
        },
        "active": {
          "type": "boolean",
          "description": "Is this vehicle active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is this vehicle a bookable resource?"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Vehicle record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the membership record"
            },
            "plate": {
              "type": "string",
              "description": "(string) The vehicle number/registration plate"
            },
            "payload": {
              "type": "string",
              "description": "(number) The vehicle's payload (in KGs or Lbs)"
            },
            "volume": {
              "type": "string",
              "description": "(number) The vehicles volume (capacity)"
            },
            "width": {
              "type": "string",
              "description": "(number) The vehicle's width"
            },
            "height": {
              "type": "string",
              "description": "(number) The vehicle's height"
            },
            "length": {
              "type": "string",
              "description": "(number) The vehicle's length"
            }
          },
          "description": "A membership object"
        },
        "icon": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string",
              "description": "Base64 encoded data (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA...)"
            }
          },
          "description": "An image to be associated with this vehicle"
        }
      },
      "required": [
        "membership_type"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "member": {
    "name": "Transit Van",
    "membership_type": "Vehicle",
    "description": "",
    "active": true,
    "bookable": true,
    "tag_list": [
      "[\"Red\", \"Blue\", \"Green\"]"
    ],
    "custom_fields": {},
    "membership": {
      "id": 1,
      "plate": "YE70 ABC",
      "payload": "1000",
      "volume": "100",
      "width": "100",
      "height": "100",
      "length": "100"
    },
    "id": 1,
    "uuid": "ffa18e10-0b8d-0133-3bc5-34750ee4a85a",
    "membership_id": 1,
    "created_at": "2015-06-25T11:14:32.087Z",
    "updated_at": "2015-07-13T11:14:32.095Z",
    "icon": {
      "iconable_id": 85,
      "id": 1,
      "image_file_name": "abigail.jpeg",
      "url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/original/abigail.jpeg",
      "thumb_url": "https://s3.amazonaws.com/current-rms-development/64a0ccd0-5fbd-012f-2201-60f847290680/icons/46/thumb/abigail.jpeg",
      "created_at": "2015-06-29T10:00:00.000Z",
      "updated_at": "2015-06-29T10:30:00.000Z",
      "iconable_type": "Member"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "member": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the vehicle"
        },
        "membership_type": {
          "type": "string",
          "description": "The Vehicle record type (always Vehicle)"
        },
        "description": {
          "type": "string",
          "description": "A long description of this vehicle"
        },
        "active": {
          "type": "boolean",
          "description": "Is this vehicle active?"
        },
        "bookable": {
          "type": "boolean",
          "description": "Is this vehicle a bookable resource?"
        },
        "tag_list": {
          "type": "array",
          "description": "An array of tags associated with the Vehicle record"
        },
        "custom_fields": {
          "type": "object",
          "properties": {},
          "description": "A collection of custom field attributes"
        },
        "membership": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the membership record"
            },
            "plate": {
              "type": "string",
              "description": "(string) The vehicle number/registration plate"
            },
            "payload": {
              "type": "string",
              "description": "(number) The vehicle's payload (in KGs or Lbs)"
            },
            "volume": {
              "type": "string",
              "description": "(number) The vehicles volume (capacity)"
            },
            "width": {
              "type": "string",
              "description": "(number) The vehicle's width"
            },
            "height": {
              "type": "string",
              "description": "(number) The vehicle's height"
            },
            "length": {
              "type": "string",
              "description": "(number) The vehicle's length"
            }
          },
          "description": "A membership object"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the Vehicle record"
        },
        "uuid": {
          "type": "string",
          "description": "(Readonly) A unique identifer for this Vehicle record"
        },
        "membership_id": {
          "type": "number",
          "description": "(Readonly) The internal identifier of the Vehicle record's Membership record"
        },
        "created_at": {
          "type": "string",
          "description": "(Readonly) When the Vehicle record was created"
        },
        "updated_at": {
          "type": "string",
          "description": "(Readonly) When the Vehicle record was last updated"
        },
        "icon": {
          "type": "object",
          "properties": {
            "iconable_id": {
              "type": "number",
              "description": "The internal identifier of the record this icon is related to"
            },
            "id": {
              "type": "number",
              "description": "(Readonly) The identifier of the Icon record"
            },
            "image_file_name": {
              "type": "string",
              "description": "The image filename"
            },
            "url": {
              "type": "string",
              "description": "(Readonly) The full URL for the original size image"
            },
            "thumb_url": {
              "type": "string",
              "description": "The full URL for the thunbnail size image"
            },
            "created_at": {
              "type": "string",
              "description": "The date & time when the Icon was created"
            },
            "updated_at": {
              "type": "string",
              "description": "The date & time of the last update to the Icon"
            },
            "iconable_type": {
              "type": "string",
              "description": "The type of record this icon is related to"
            }
          },
          "description": "The Icon object for this vehicle"
        }
      },
      "required": [
        "membership_type"
      ]
    }
  }
}

Webhooks

A Webhook represents a subscription to an action event that will generate a call to a specified URL

Webhook

Retrieve a Webhook
GET/webhooks/{id}
Example URI
GET https://api.current-rms.com/api/v1/webhooks/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired webhook

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "webhook": {
    "name": "your name here",
    "event": "activity_create",
    "target_url": "https://targeturl.com/hook",
    "active": true,
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "webhook": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "A descriptive name for the webhook"
        },
        "event": {
          "type": "string",
          "description": "The event identifier this webhook relates to"
        },
        "target_url": {
          "type": "string",
          "description": "The web hook URL to be called"
        },
        "active": {
          "type": "boolean",
          "description": "Is the webhook record active?"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the webhook record"
        }
      }
    }
  }
}
Delete a Webhook
DELETE/webhooks/{id}
Example URI
DELETE https://api.current-rms.com/api/v1/webhooks/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired webhook

Response  204
Update a Webhook
PUT/webhooks/{id}
Example URI
PUT https://api.current-rms.com/api/v1/webhooks/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired webhook

Request
HideShow
Headers
Content-Type: application/json
Body
{
  "webhook": {
    "name": "your name here",
    "event": "activity_create",
    "target_url": "https://targeturl.com/hook",
    "active": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "webhook": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "A descriptive name for the webhook"
        },
        "event": {
          "type": "string",
          "description": "The event identifier this webhook relates to"
        },
        "target_url": {
          "type": "string",
          "description": "The web hook URL to be called"
        },
        "active": {
          "type": "boolean",
          "description": "Is the webhook record active?"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "webhook": {
    "name": "your name here",
    "event": "activity_create",
    "target_url": "https://targeturl.com/hook",
    "active": true,
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "webhook": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "A descriptive name for the webhook"
        },
        "event": {
          "type": "string",
          "description": "The event identifier this webhook relates to"
        },
        "target_url": {
          "type": "string",
          "description": "The web hook URL to be called"
        },
        "active": {
          "type": "boolean",
          "description": "Is the webhook record active?"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the webhook record"
        }
      }
    }
  }
}

Webhooks

List Webhooks
GET/webhooks
Example URI
GET https://api.current-rms.com/api/v1/webhooks
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "webhooks": [
    {
      "name": "your name here",
      "event": "activity_create",
      "target_url": "https://targeturl.com/hook",
      "active": true,
      "id": 1
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "webhooks": {
      "type": "array"
    }
  }
}
Create a Webhook
POST/webhooks
Example URI
POST https://api.current-rms.com/api/v1/webhooks
Request
HideShow
Headers
Content-Type: application/json
Body
{
  "webhook": {
    "name": "your name here",
    "event": "activity_create",
    "target_url": "https://targeturl.com/hook",
    "active": true
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "webhook": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "A descriptive name for the webhook"
        },
        "event": {
          "type": "string",
          "description": "The event identifier this webhook relates to"
        },
        "target_url": {
          "type": "string",
          "description": "The web hook URL to be called"
        },
        "active": {
          "type": "boolean",
          "description": "Is the webhook record active?"
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "webhook": {
    "name": "your name here",
    "event": "activity_create",
    "target_url": "https://targeturl.com/hook",
    "active": true,
    "id": 1
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "webhook": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "A descriptive name for the webhook"
        },
        "event": {
          "type": "string",
          "description": "The event identifier this webhook relates to"
        },
        "target_url": {
          "type": "string",
          "description": "The web hook URL to be called"
        },
        "active": {
          "type": "boolean",
          "description": "Is the webhook record active?"
        },
        "id": {
          "type": "number",
          "description": "(Readonly) The identifier of the webhook record"
        }
      }
    }
  }
}

Webhook Logs

A Webhook Log represents the response received from the target server when a webhook was posted

Webhook Log

Retrieve a Webhook Log
GET/webhook_logs/{id}
Example URI
GET https://api.current-rms.com/api/v1/webhook_logs/1
Parameters
NameExampleDescription
id (number, required)1

The ID of the desired webhook log

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "webhook_log": {
    "id": 1,
    "webhook_id": 1,
    "response_code": 200,
    "response": "{ \"result\": true }"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "webhook_log": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "The identifier of the webhook log record"
        },
        "webhook_id": {
          "type": "number",
          "description": "The identifier of the webhook record this log relates to"
        },
        "response_code": {
          "type": "number",
          "description": "The response code received"
        },
        "response": {
          "type": "string",
          "description": "The response body received (max 255 chars)"
        }
      }
    }
  }
}

Webhook Logs

List Webhook Logs
GET/webhook_logs
Example URI
GET https://api.current-rms.com/api/v1/webhook_logs
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "webhook_logs": [
    {
      "id": 1,
      "webhook_id": 1,
      "response_code": 200,
      "response": "{ \"result\": true }"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "webhook_logs": {
      "type": "array"
    }
  }
}

Tag Cloud

The tag cloud returns a list of tags assigned to records that match the criteria given

Activity Tag Cloud

Get Activity Tag Cloud
GET/activities/tag_cloud{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/activities/tag_cloud?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[subject_or_description_or_location_or_tags_name_cont] (string, optional)search_text_here
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "tag_cloud": [
    {
      "id": 1,
      "name": "Red",
      "count": 3
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "tag_cloud": {
      "type": "array"
    }
  }
}

Invoice Tag Cloud

Get Invoice Tag Cloud
GET/invoices/tag_cloud{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/invoices/tag_cloud?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[subject_or_number_or_description_or_member_name_or_tags_name_cont] (string, optional, `search_text_here`) (string, required)
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "tag_cloud": [
    {
      "id": 1,
      "name": "Red",
      "count": 3
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "tag_cloud": {
      "type": "array"
    }
  }
}

Member Tag Cloud

Get Member Tag Cloud
GET/members/tag_cloud{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/members/tag_cloud?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_primary_address_street_or_work_phone_number_or_work_email_address_or_identity_email_or_tags_name_cont] (string, optional, `search_text_here`) (string, required)
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "tag_cloud": [
    {
      "id": 1,
      "name": "Red",
      "count": 3
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "tag_cloud": {
      "type": "array"
    }
  }
}

Opportunity Tag Cloud

Get Opportunity Tag Cloud
GET/opportunities/tag_cloud{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/opportunities/tag_cloud?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[subject_or_description_or_number_or_member_name_or_tags_name_cont] (string, optional, `search_text_here`) (string, required)
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "tag_cloud": [
    {
      "id": 1,
      "name": "Red",
      "count": 3
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "tag_cloud": {
      "type": "array"
    }
  }
}

Project Tag Cloud

Get Project Tag Cloud
GET/projects/tag_cloud{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/projects/tag_cloud?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_member_name_or_tags_name_cont] (string, optional, 'search_text_here') (string, required)
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "tag_cloud": [
    {
      "id": 1,
      "name": "Red",
      "count": 3
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "tag_cloud": {
      "type": "array"
    }
  }
}

Product Tag Cloud

Get Product Tag Cloud
GET/products/tag_cloud{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/products/tag_cloud?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_product_group_name_or_product_tags_name_cont] (string, optional, `search_text_here`) (string, required)
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "tag_cloud": [
    {
      "id": 1,
      "name": "Red",
      "count": 3
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "tag_cloud": {
      "type": "array"
    }
  }
}

Service Tag Cloud

Get Service Tag Cloud
GET/services/tag_cloud{?page,per_page}
Example URI
GET https://api.current-rms.com/api/v1/services/tag_cloud?page=1&per_page=20
Parameters
NameExampleDescription
page (number, optional)1

The requested page number

per_page (number, optional)20

The number of records to return for the requested page

q[name_or_tags_name_cont] (string, optional)search_text_here
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "tag_cloud": [
    {
      "id": 1,
      "name": "Red",
      "count": 3
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "tag_cloud": {
      "type": "array"
    }
  }
}

Generated by aglio on 06 Aug 2025