Introduction

Quotes API

Overview

Quotations with listing-backed lines. Quote /v1/catalog-types defines optional header details fields on quotes. Sellable items and listing catalog types are on the Listings service (/listings/v1/catalog-types, /listings/v1/listings).

Integration guide: Quotes service docs

OpenAPI v0.1.0 · source openapi/quotes.json

OpenAPI 3.0.0 · v0.1.0 · 56 operations

Operations

System

Liveness and generated documentation.

get/health

Health check

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/health"

Operation ID: getHealth

Responses

  • 200

    Service is running

    application/json

get/v1/health

Health check (versioned)

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/health"

Operation ID: getHealthV1

Responses

  • 200

    Service is running

    application/json

Catalog

Quote header templates (optional `details` fields). Not listing/item catalog — use Listings for that.

get/v1/catalog-types

List quote catalog types

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/catalog-types"

Quote-level header templates (optional `details` on quotes). Paginated. For sellable items use Listings `GET /listings/v1/catalog-types` and quote lines with `listing_id`.

Operation ID: listQuoteCatalogTypes

Parameters

NameInTypeDescription
pagequeryinteger—
page_sizequeryinteger—

Responses

  • 200

    Catalog types

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/v1/catalog-types

Create quote catalog type

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/v1/catalog-types"

Admin only. Defines optional header_fields validated on quote create. line_item_types is legacy metadata (quote lines use Listings).

Operation ID: createQuoteCatalogType

Request body(required)

  • application/jsonQuoteCatalogTypeCreate

Responses

  • 201

    Created

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/v1/catalog-types/{id}

Get quote catalog type

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/catalog-types/example-id"

Fetch one org-defined catalog type by id.

Operation ID: getQuoteCatalogType

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Catalog type

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

patch/v1/catalog-types/{id}

Update quote catalog type

Example request

curl -sS \
  -X PATCH \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/v1/catalog-types/example-id"

Admin only. PATCH partial fields.

Operation ID: updateQuoteCatalogType

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonQuoteCatalogTypePatch

Responses

  • 200

    Updated

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

delete/v1/catalog-types/{id}

Delete quote catalog type

Example request

curl -sS \
  -X DELETE \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/catalog-types/example-id"

Admin only. Fails with 409 if any quote references this catalog_type_id.

Operation ID: deleteQuoteCatalogType

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Deleted

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/catalog-types

List quote catalog types

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/catalog-types"

Quote-level header templates (optional `details` on quotes). Paginated. For sellable items use Listings `GET /listings/v1/catalog-types` and quote lines with `listing_id`.

Operation ID: listQuoteCatalogTypes

Parameters

NameInTypeDescription
pagequeryinteger—
page_sizequeryinteger—

Responses

  • 200

    Catalog types

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/catalog-types

Create quote catalog type

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/catalog-types"

Admin only. Defines optional header_fields validated on quote create. line_item_types is legacy metadata (quote lines use Listings).

Operation ID: createQuoteCatalogType

Request body(required)

  • application/jsonQuoteCatalogTypeCreate

Responses

  • 201

    Created

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/catalog-types/{id}

Get quote catalog type

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/catalog-types/example-id"

Fetch one org-defined catalog type by id.

Operation ID: getQuoteCatalogType

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Catalog type

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

patch/quotes/v1/catalog-types/{id}

Update quote catalog type

Example request

curl -sS \
  -X PATCH \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/catalog-types/example-id"

Admin only. PATCH partial fields.

Operation ID: updateQuoteCatalogType

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonQuoteCatalogTypePatch

Responses

  • 200

    Updated

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

delete/quotes/v1/catalog-types/{id}

Delete quote catalog type

Example request

curl -sS \
  -X DELETE \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/catalog-types/example-id"

Admin only. Fails with 409 if any quote references this catalog_type_id.

Operation ID: deleteQuoteCatalogType

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Deleted

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

Quotes

Quotes and listing-backed lines (CRUD + lifecycle).

get/v1/quotes

List quotes

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes"

Operation ID: listQuotes

Parameters

NameInTypeDescription
pagequeryinteger—
page_sizequeryinteger—
customer_idquerystring (uuid)—
statusquerystring—

Responses

  • 200

    Quotes

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/v1/quotes

Create quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes"

Single quote resource (replaces legacy work orders + line items + nested quotes). Each line requires listing_id; description and unit_price are optional snapshots from Listings (filled via LISTINGS binding when omitted).

Operation ID: createQuote

Request body(required)

  • application/jsonQuoteCreate

Responses

  • 201

    Quote created

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/v1/quotes/{id}

Get quote

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id"

Operation ID: getQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

patch/v1/quotes/{id}

Update quote header

Example request

curl -sS \
  -X PATCH \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id"

Operation ID: updateQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonQuotePatch

Responses

  • 200

    Quote updated

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

delete/v1/quotes/{id}

Delete draft quote

Example request

curl -sS \
  -X DELETE \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id"

Operation ID: deleteQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 204

    Deleted

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/v1/quotes/{id}/lines

List quote lines

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/lines"

Operation ID: listQuoteLines

Parameters

NameInTypeDescription
id*pathstring (uuid)—
pagequeryinteger—
page_sizequeryinteger—

Responses

  • 200

    Lines

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

put/v1/quotes/{id}/lines

Replace quote lines

Example request

curl -sS \
  -X PUT \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/lines"

Draft only. Replaces all lines with listing-backed snapshots.

Operation ID: replaceQuoteLines

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonQuoteLineReplace

Responses

  • 200

    Lines replaced

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/v1/quotes/{id}/issue

Issue quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/issue"

Operation ID: issueQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/v1/quotes/{id}/send

Send quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/send"

Operation ID: sendQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/v1/quotes/{id}/reject

Reject quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/reject"

Operation ID: rejectQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/v1/quotes/{id}/revise

Revise quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/revise"

Operation ID: reviseQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/v1/quotes/{id}/accept

Accept quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{
  
}' \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/accept"

Operation ID: acceptQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonobject

Responses

  • 200

    Quote accepted

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/quotes

List quotes

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes"

Operation ID: listQuotes

Parameters

NameInTypeDescription
pagequeryinteger—
page_sizequeryinteger—
customer_idquerystring (uuid)—
statusquerystring—

Responses

  • 200

    Quotes

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/quotes

Create quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes"

Single quote resource (replaces legacy work orders + line items + nested quotes). Each line requires listing_id; description and unit_price are optional snapshots from Listings (filled via LISTINGS binding when omitted).

Operation ID: createQuote

Request body(required)

  • application/jsonQuoteCreate

Responses

  • 201

    Quote created

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/quotes/{id}

Get quote

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id"

Operation ID: getQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

patch/quotes/v1/quotes/{id}

Update quote header

Example request

curl -sS \
  -X PATCH \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id"

Operation ID: updateQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonQuotePatch

Responses

  • 200

    Quote updated

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

delete/quotes/v1/quotes/{id}

Delete draft quote

Example request

curl -sS \
  -X DELETE \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id"

Operation ID: deleteQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 204

    Deleted

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/quotes/{id}/lines

List quote lines

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/lines"

Operation ID: listQuoteLines

Parameters

NameInTypeDescription
id*pathstring (uuid)—
pagequeryinteger—
page_sizequeryinteger—

Responses

  • 200

    Lines

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

put/quotes/v1/quotes/{id}/lines

Replace quote lines

Example request

curl -sS \
  -X PUT \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/lines"

Draft only. Replaces all lines with listing-backed snapshots.

Operation ID: replaceQuoteLines

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonQuoteLineReplace

Responses

  • 200

    Lines replaced

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/quotes/{id}/issue

Issue quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/issue"

Operation ID: issueQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/quotes/{id}/send

Send quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/send"

Operation ID: sendQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/quotes/{id}/reject

Reject quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/reject"

Operation ID: rejectQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/quotes/{id}/revise

Revise quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/revise"

Operation ID: reviseQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Quote

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/quotes/{id}/accept

Accept quote

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{
  
}' \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/accept"

Operation ID: acceptQuote

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonobject

Responses

  • 200

    Quote accepted

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

Evidence

Media attached to a quote.

get/v1/quotes/{id}/evidence

List quote evidence

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/evidence"

Operation ID: listQuoteEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—
pagequeryinteger—
page_sizequeryinteger—
stagequerystring—
media_typequerystring—
customer_visiblequeryboolean—

Responses

  • 200

    Evidence

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/v1/quotes/{id}/evidence

Create evidence

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/evidence"

Operation ID: createQuoteEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonEvidenceCreate

Responses

  • 201

    Evidence created

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/v1/evidence/{id}

Get evidence

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/evidence/example-id"

Operation ID: getEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Evidence

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

patch/v1/evidence/{id}

Update evidence

Example request

curl -sS \
  -X PATCH \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{
  
}' \
  "https://api.mayawealth.co.uk/quotes/v1/evidence/example-id"

Operation ID: updateEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonobject

Responses

  • 200

    Evidence updated

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

delete/v1/evidence/{id}

Delete evidence

Example request

curl -sS \
  -X DELETE \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/evidence/example-id"

Operation ID: deleteEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 204

    Deleted

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/quotes/{id}/evidence

List quote evidence

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/evidence"

Operation ID: listQuoteEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—
pagequeryinteger—
page_sizequeryinteger—
stagequerystring—
media_typequerystring—
customer_visiblequeryboolean—

Responses

  • 200

    Evidence

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/quotes/{id}/evidence

Create evidence

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/evidence"

Operation ID: createQuoteEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonEvidenceCreate

Responses

  • 201

    Evidence created

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/evidence/{id}

Get evidence

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/evidence/example-id"

Operation ID: getEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Evidence

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

patch/quotes/v1/evidence/{id}

Update evidence

Example request

curl -sS \
  -X PATCH \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  -d '{
  
}' \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/evidence/example-id"

Operation ID: updateEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonobject

Responses

  • 200

    Evidence updated

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

delete/quotes/v1/evidence/{id}

Delete evidence

Example request

curl -sS \
  -X DELETE \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/evidence/example-id"

Operation ID: deleteEvidence

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 204

    Deleted

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

Signatures

Electronic signatures on a quote.

post/v1/quotes/{id}/signature-requests

Create signature request

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/signature-requests"

Operation ID: createQuoteSignatureRequest

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonSignatureRequestCreate

Responses

  • 201

    Request created

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/v1/quotes/{id}/signatures

List quote signatures

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/quotes/example-id/signatures"

Operation ID: listQuoteSignatures

Parameters

NameInTypeDescription
id*pathstring (uuid)—
pagequeryinteger—
page_sizequeryinteger—

Responses

  • 200

    Signatures

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/v1/signatures/{id}

Get signature

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/signatures/example-id"

Operation ID: getSignature

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Signature

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/v1/signature-requests/{requestId}/complete

Complete signature request

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/v1/signature-requests/example-id/complete"

Operation ID: completeSignatureRequest

Parameters

NameInTypeDescription
requestId*pathstring (uuid)—

Request body(required)

  • application/jsonSignatureCompleteRequest

Responses

  • 200

    Signature completed

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/quotes/{id}/signature-requests

Create signature request

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/signature-requests"

Operation ID: createQuoteSignatureRequest

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Request body(required)

  • application/jsonSignatureRequestCreate

Responses

  • 201

    Request created

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/quotes/{id}/signatures

List quote signatures

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/quotes/example-id/signatures"

Operation ID: listQuoteSignatures

Parameters

NameInTypeDescription
id*pathstring (uuid)—
pagequeryinteger—
page_sizequeryinteger—

Responses

  • 200

    Signatures

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/signatures/{id}

Get signature

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/signatures/example-id"

Operation ID: getSignature

Parameters

NameInTypeDescription
id*pathstring (uuid)—

Responses

  • 200

    Signature

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

post/quotes/v1/signature-requests/{requestId}/complete

Complete signature request

Example request

curl -sS \
  -X POST \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  -H "Content-Type: application/json" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/signature-requests/example-id/complete"

Operation ID: completeSignatureRequest

Parameters

NameInTypeDescription
requestId*pathstring (uuid)—

Request body(required)

  • application/jsonSignatureCompleteRequest

Responses

  • 200

    Signature completed

    application/json

  • 400

    Malformed request.

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 404

    The requested resource was not found.

    application/json

  • 409

    Conflict — version mismatch, idempotency conflict, or invalid state transition.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

Audit

Immutable change log for this service.

get/v1/audit

Audit trail

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/v1/audit"

Operation ID: listAudit

Parameters

NameInTypeDescription
pagequeryinteger—
page_sizequeryinteger—

Responses

  • 200

    Audit events

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json

get/quotes/v1/audit

Audit trail

Example request

curl -sS \
  -X GET \
  -H "Accept: application/json" \
  -H "Authorization: Bearer <jwt>" \
  "https://api.mayawealth.co.uk/quotes/quotes/v1/audit"

Operation ID: listAudit

Parameters

NameInTypeDescription
pagequeryinteger—
page_sizequeryinteger—

Responses

  • 200

    Audit events

    application/json

  • 401

    Missing or invalid JWT.

    application/json

  • 403

    Authenticated but not permitted.

    application/json

  • 422

    Validation failed.

    application/json

  • 429

    Rate limit exceeded.

    application/json

  • 500

    Unexpected server error.

    application/json