{"openapi":"3.1.0","info":{"title":"Alasco Capex (BYOK) API","version":"0.1.0","description":"Alasco Capex (BYOK) lets an AI assistant read your own Alasco Capex data through the Alasco Capex API with a key you supply (Alasco API key). Read-only: 12 tools (list_assets, get_asset, list_measures, get_measure, list_contracts, get_contract, list_change_orders, list_invoices, get_invoice, list_contract_invoices, list_invoice_payments, list_tags). The BYOK key travels with each request, is used...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-alasco-capex.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-alasco-capex/docs"},"termsOfService":"https://connectorbay.com/byok-alasco-capex/terms"},"servers":[{"url":"https://byok-alasco-capex.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-alasco-capex/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_assets":{"post":{"operationId":"list_assets","summary":"List the real estate assets of your Alasco CapEx account with identifier, name and creation date. Money amounts come bac","description":"List the real estate assets of your Alasco CapEx account with identifier, name and creation date. Money amounts come back as objects with net and tax values. Uses cursor paging through links.next. Use for \"Which assets are in Alasco CapEx\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the value of the cursor[position] query parameter inside the links.next URL of the previous answer (omit for the first page).","title":"Cursor"},"name_contains":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only items whose name contains this text.","title":"Name Contains"}},"title":"list_assetsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_asset":{"post":{"operationId":"get_asset","summary":"Get one Alasco CapEx asset with identifier, name and creation date. Use for \"Show Alasco CapEx asset 5f3a1c2e\".","description":"Get one Alasco CapEx asset with identifier, name and creation date. Use for \"Show Alasco CapEx asset 5f3a1c2e\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Asset id, from the list tool.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_assetArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_measures":{"post":{"operationId":"list_measures","summary":"List the capital expenditure measures (renovation or improvement packages of an asset) with identifier, name, descriptio","description":"List the capital expenditure measures (renovation or improvement packages of an asset) with identifier, name, description, status, asset and creation date. Money amounts come back as objects with net and tax values. Uses cursor paging through links.next. Use for \"Which CapEx measures are in progress\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the value of the cursor[position] query parameter inside the links.next URL of the previous answer (omit for the first page).","title":"Cursor"},"name_contains":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only items whose name contains this text.","title":"Name Contains"}},"title":"list_measuresArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_measure":{"post":{"operationId":"get_measure","summary":"Get one CapEx measure with identifier, name, description, status, asset and creation date. Use for \"Show Alasco CapEx me","description":"Get one CapEx measure with identifier, name, description, status, asset and creation date. Use for \"Show Alasco CapEx measure 5f3a1c2e\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Measure id, from the list tool.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_measureArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_contracts":{"post":{"operationId":"list_contracts","summary":"List the CapEx contracts with name, number, type, status, contract date, measure, contractor id, contracting entity id, ","description":"List the CapEx contracts with name, number, type, status, contract date, measure, contractor id, contracting entity id, cost center, reverse-charge flag and amount. Money amounts come back as objects with net and tax values. Uses cursor paging through links.next. Use for \"Which CapEx contracts are signed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the value of the cursor[position] query parameter inside the links.next URL of the previous answer (omit for the first page).","title":"Cursor"},"name_contains":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only items whose name contains this text.","title":"Name Contains"},"include":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Related objects to include, comma separated: contractor, contracting_entity or measure.","title":"Include"}},"title":"list_contractsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_contract":{"post":{"operationId":"get_contract","summary":"Get one CapEx contract with number, type, status, date, measure, contractor id, cost center, reverse-charge flag, amount","description":"Get one CapEx contract with number, type, status, date, measure, contractor id, cost center, reverse-charge flag, amount and reserve amount. Use for \"Show Alasco CapEx contract 5f3a1c2e\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Contract id, from the list tool.","maxLength":200,"title":"Id","type":"string"},"include":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Related objects to include, comma separated: contractor, contracting_entity or measure.","title":"Include"}},"required":["id"],"title":"get_contractArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_change_orders":{"post":{"operationId":"list_change_orders","summary":"List the CapEx change orders (claims for additional work) with identifier, name, contract, trigger, basis of claim, stat","description":"List the CapEx change orders (claims for additional work) with identifier, name, contract, trigger, basis of claim, state and claimed, audited and approved amounts. Money amounts come back as objects with net and tax values. Uses cursor paging through links.next. Use for \"Which CapEx change orders are open\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the value of the cursor[position] query parameter inside the links.next URL of the previous answer (omit for the first page).","title":"Cursor"},"name_contains":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only items whose name contains this text.","title":"Name Contains"}},"title":"list_change_ordersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_invoices":{"post":{"operationId":"list_invoices","summary":"List the CapEx invoices with internal and external number, type, process state, dates received, posted, due and approved","description":"List the CapEx invoices with internal and external number, type, process state, dates received, posted, due and approved, and audited, approved and payment amounts. Money amounts come back as objects with net and tax values. Uses cursor paging through links.next. Use for \"Which CapEx invoices are waiting for approval\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the value of the cursor[position] query parameter inside the links.next URL of the previous answer (omit for the first page).","title":"Cursor"},"include":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Related objects to include, comma separated, for example contract.","title":"Include"}},"title":"list_invoicesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_invoice":{"post":{"operationId":"get_invoice","summary":"Get one CapEx invoice with number, type, process state, dates and amounts. Use for \"Show Alasco CapEx invoice 5f3a1c2e\".","description":"Get one CapEx invoice with number, type, process state, dates and amounts. Use for \"Show Alasco CapEx invoice 5f3a1c2e\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Invoice id, from the list tool.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_invoiceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_contract_invoices":{"post":{"operationId":"list_contract_invoices","summary":"List the invoices booked against one CapEx contract with number, type, process state, dates and amounts. Money amounts c","description":"List the invoices booked against one CapEx contract with number, type, process state, dates and amounts. Money amounts come back as objects with net and tax values. Uses cursor paging through links.next. Use for \"Which invoices belong to Alasco CapEx contract 5f3a1c2e\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"contract_id":{"description":"Contract id, from list_contracts.","maxLength":200,"title":"Contract Id","type":"string"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the value of the cursor[position] query parameter inside the links.next URL of the previous answer (omit for the first page).","title":"Cursor"}},"required":["contract_id"],"title":"list_contract_invoicesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_invoice_payments":{"post":{"operationId":"list_invoice_payments","summary":"List the payments made against one CapEx invoice with paid amount, payment date and comment. Money amounts come back as ","description":"List the payments made against one CapEx invoice with paid amount, payment date and comment. Money amounts come back as objects with net and tax values. Uses cursor paging through links.next. Use for \"What payments were made on Alasco CapEx invoice 5f3a1c2e\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"invoice_id":{"description":"Invoice id, from list_invoices.","maxLength":200,"title":"Invoice Id","type":"string"},"cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Pagination cursor: the value of the cursor[position] query parameter inside the links.next URL of the previous answer (omit for the first page).","title":"Cursor"}},"required":["invoice_id"],"title":"list_invoice_paymentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_tags":{"post":{"operationId":"list_tags","summary":"List the tags defined in Alasco CapEx with name and colour. Use for \"Which tags exist in Alasco CapEx\".","description":"List the tags defined in Alasco CapEx with name and colour. Use for \"Which tags exist in Alasco CapEx\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_tagsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}